我是Python和Pandas的新手,正在尝试解决问题。
我有一个熊猫数据框,其中包含一列,其中列数据是一个字符串,其值由连字符分隔,
import pandas as pd
data = [['item 1 - item 2 - item 3'],['item 4 - item 5 - item 6 '],['item
7 - item 8'],['item 9']]
df = pd.DataFrame(data, columns=['Item'])
print(df)
结果:
Item
0 item 1 - item 2 - item 3
1 item 4 - item 5 - item 6
2 item 7 - item 8
3 item 9
我需要将项目行拆分为列表,我可以使用
df['Item'].str.split('-')
解析为
0 [item 1 , item 2 , item 3]
1 [item 4 , item 5 , item 6 ]
2 [item 7 , item 8]
3 [item 9]
我需要获取每一行的第一项,因此,第1项,第4项,第7项,第9项
并希望使用strip()方法去除前导和尾随空白字符
最佳答案
使用Series.str.split
,通过索引获取列表的第一个值,最后一次调用Series.str.strip
:
s = df['Item'].str.split('-').str[0].str.strip()
print (s)
0 item 1
1 item 4
2 item 7
3 item 9
Name: Item, dtype: object
关于python - 尝试获取 Pandas 数据框中列表中的第一项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56968815/