我是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/

10-11 01:00