我是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()方法去除开头和结尾的空白字符
答案 0 :(得分:1)
使用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