[英]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.