我正在尝试编辑充满文本的Pandas数据框列。基本上应用了一些编辑功能(切片,提取等)。
我正在使用编写函数并在列上应用map函数来完成该操作。 df ["花时间"] = df ["详情"]。map(somefunc)
然而,似乎我无法编辑文本,因为Pandas将数据类型存储在" object"不是"字符串"。
我尝试使用astype(str),但它仍然保持" object"。
如何完成此任务?
答案 0 :(得分:1)
您可以通过将.str附加到系列名称来对Pandas系列执行字符串操作。以下是一些例子:
>>> df = pd.DataFrame([{'A': 'Label1', 'B': '$12.00'},
... {'A': 'Label2', 'B': '$14.00'},
... {'A': 'Label1', 'B': '$9.00'},
... {'A': 'Label2', 'B': '$8.00'}])
>>> df.B.str.replace('$','')
0 12.00
1 14.00
2 9.00
3 8.00
Name: B, dtype: object
>>> df.A.str[-1:]
0 1
1 2
2 1
3 2
Name: A, dtype: object
>>> df.A.str[1:]
0 abel1
1 abel2
2 abel1
3 abel2
Name: A, dtype: object
>>> df.B.str.len()
0 6
1 6
2 5
3 5
Name: B, dtype: int64
Pandas文档:Working with Text Data