尝试获取熊猫数据框中列表中的第一项

时间:2019-07-10 10:32:18

标签: python pandas dataframe

我是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()方法去除开头和结尾的空白字符

1 个答案:

答案 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