python - Pandas :在列表的数据框列中索引每个列表的第一个元素

标签 python pandas dataframe series

我有一系列列表,我想使用 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/

相关文章:

python - Pandas :基于列名的列成对乘法

python - 如何获取当月的所有天数?

python - 即使在 pip 安装后也找不到模块

python - 删除 pandas 数据框中某些观察结果(时间序列)的简单方法?

python - 如何仅计算字典中的单词,同时返回字典键名称的计数

python - 如何将数据框字符串列拆分为多列?

python - 根据列的重复值折叠数据框并删除 NaN 值

javascript - javascript 是否有 __repr__ 等价物?

python - 确定 pandas 数据框中一组列的顺序何时发生变化

python - 在划分两列的同时绘制三组的多个条形图