我有一系列列表,我想使用 pandas 索引列表数据框中每个列表的第一个元素。我该怎么做?
工作示例
我的原始数据集是一个 pandas 数据框,如下所示:
# Import raw dataset from URL
url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data'
column_names = ['MPG', 'Cylinders', 'Displacement', 'Horsepower',
'Weight', 'Acceleration', 'Model Year', 'Origin', 'Carname']
train = pd.read_csv(url, names=column_names,
na_values='?',sep='\s+'
, skipinitialspace=True)
temp1 = pd.DataFrame(train["Carname"].str.split())
print(temp1)
Carname
0 [plymouth, champ]
1 [amc, matador]
2 [chevroelt, chevelle, malibu]
... ...
1489 [vw, dasher, (diesel)]
1490 [honda, accord]
1491 [ford, escort, 4w]
想要的结果应该是这样的
'plymouth'
'amc'
'chevroelt'
.....
最佳答案
可以使用字符串访问器.str[]
,如下:
temp1['Carname'].str[0] # str[0] for first element in list
结果:
0 chevrolet
1 buick
2 plymouth
3 amc
4 ford
...
393 ford
394 vw
395 dodge
396 ford
397 chevy
Name: Carname, Length: 398, dtype: object
关于python - Pandas :在列表的数据框列中索引每个列表的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69409763/