【发布时间】:2018-01-20 04:07:59
【问题描述】:
我有一个 Pandas 数据框,其中有一列如下所示:
Car_Make
0 2017 Abarth 124 Spider ManualConvertible
1 2017 Abarth 124 Spider AutoConvertible
2 2017 Abarth 124 Spider ManualConvertible
3 2017 Abarth 124 Spider AutoConvertible
4 2017 Abarth 595 ManualHatch
5 2017 Abarth 595 AutoHatch
三个问题:
1 How to save split data in panda in reverse order? - 这解决了我的问题,但我不知道它是如何工作或为什么工作 - 有人可以向我解释一下吗?我讨厌复制粘贴而不理解它为什么起作用
df['Car_Make'].apply(lambda x:pd.Series(x.split()[::-1]))
2 我尝试使用用户定义的函数(我可以再次使用)复制它,但它似乎不起作用(任何帮助理解为什么以及将 Lambda 函数转换为的正确方法用户自定义函数
def f(x):
df[x] = pd.Series(x.split()[::-1])
return df
3 有没有更好的方法来反向分割这一列?
我尝试过使用正则表达式,它有效,但并非在所有行上都有效,因为您可以看到第 4 行和第 5 行与上面的略有不同。
任何帮助将不胜感激。
谢谢, 阿德里安
【问题讨论】:
-
您希望生成的数据框是什么样的?在每个空间上拆分,还是其他?
-
在每个空格上拆分都可以(正好相反)。我对“ManualConvertible”(或条目的最后一部分)感兴趣。我确信高级正则表达式可以解决这个问题,但我只知道基本表达式