繁体   English   中英

您如何对 dataframe 中的每个变量进行切片?

[英]How do you slice each variable in dataframe?

我有一个名为car的数据框,我想创建一个新列“Brand”,它是列数据“name”的第一个单词。

输入 dataframe:

mpg cylinders   displacement    horsepower  weight          name
0   18.0        8               307.0       130.0           chevrolet chevelle malibu
1   15.0        8               350.0       165.0           buick skylark 320
2   18.0        8               318.0       150.0           plymouth satellite
3   16.0        8               304.0       150.0           amc rebel sst
4   17.0        8               302.0       140.0           ford torino

首先,我找到第一个单词的结尾:

cars['brandno'] = cars['name'].str.find(' ')

然后我用brandno把这个词切了下来,比如:

cars['brand'] = cars['name'].str[:'brandno']

结果:

mpg cylinders   displacement    horsepower  weight      name                        brand   brandno
0   18.0        8               307.0       130.0       chevrolet chevelle malibu   NaN     9.0
1   15.0        8               350.0       165.0       buick skylark 320           NaN     5.0
2   18.0        8               318.0       150.0       plymouth satellite          NaN     8.0
3   16.0        8               304.0       150.0       amc rebel sst               NaN     3.0
4   17.0        8               302.0       140.0       ford torino                 NaN     4.0

但是,从结果中可以看出,它不起作用。 我该如何解决这个问题?

您可以简单地使用 pd.Series.apply()

cars['brandno'] = cars['name'].apply(lambda x: x.split(" ")[0])
# This should make a new column having only the first name of the cars

可能下面会为您工作:

cars['brand'] = cars.name.str.split(expand=True)[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM