我的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。
指定我想要的正确方法是什么?
答案 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