在pandas数据框中创建一个新列,这个新列的值是另一列的函数

3

我的pandas数据框中有一个名为“div”的现有列,其中包含一个字符串。我想创建一个新列('newcol'),其值等于div中字符串的第一个字符。

我尝试了几种方法来指定此内容,但都不起作用。

results['newcol'] = results['div'] 给我返回了整个字符串(如预期的一样),而不是第一个字符。

results['newcol'] = results['Div'].values[0]results['newcol'] = results['Div'][0] 使每一行的newcol都等于第一行的“Div”字符串。

results['newcol'] = str(results['Div'])results['newcol'] = str(results['Div'])[0] 将整个['Div']系列转换为单个字符串,并将其返回到新列。

请问我应该如何正确地指定我想要的内容?

1个回答

7

这应该可以正常工作:

import pandas as pd
data = pd.DataFrame({"A": ["hello", "world"], "B": [1, 2]})
data["C"] = data.A.str[0]
data

这是输出结果:
  |   A   | B | C 
------------------
0 | hello | 1 | h
------------------
1 | world | 2 | w

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接