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

时间:2014-12-26 12:17:59

标签: python pandas

我的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']系列转换为单个字符串并将其返回给newcol。

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

1 个答案:

答案 0 :(得分: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