Python 尝试获取panda数据帧中列表中的第一项
我是Python和Pandas的新手,正在尝试解决一个问题 我有一个pandas dataframe,它包含一个列,其中列数据是一个字符串,值之间用连字符分隔Python 尝试获取panda数据帧中列表中的第一项,python,pandas,dataframe,Python,Pandas,Dataframe,我是Python和Pandas的新手,正在尝试解决一个问题 我有一个pandas dataframe,它包含一个列,其中列数据是一个字符串,值之间用连字符分隔 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
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()方法去除前导和尾随的空白字符使用,通过索引和最后一次调用获取列表的第一个值:
df['Item'].str.split('-').str[0].str.strip()
@MikeTunstall-按您的需要工作?是的,谢谢,这也提高了我对Python的了解,尤其是
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