python – 在pandas dataframe中创建一个新列作为另一列的函数

我的pandas数据框有一个现有的列“div”,它有一个字符串.我想创建一个新列(‘newcol’),其值等于div中字符串的第一个字符.

我试图指定这几种方法,但它不起作用.

results [‘newcol’] = results [‘div’]给我完整的字符串(如预期的那样)而不是第一个字符.

结果[‘newcol’] =结果[‘Div’].值[0]和结果[‘newcol’] =结果[‘Div’] [0]
使每行中的newcol等于第一行的’Div’字符串.

结果[‘newcol’] = str(结果[‘Div’])和结果[‘newcol’] = str(结果[‘Div’])[0]
将整个[‘Div’]系列转换为单个字符串并将其返回给newcol.

指定我想要的正确方法是什么?

最佳答案 这应该工作:

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
点赞