gpt4 book ai didi

python - 如何以相反的顺序保存panda中的拆分数据?

转载 作者:行者123 更新时间:2023-12-01 03:38:15 24 4
gpt4 key购买 nike

您可以使用它来创建数据框:

xyz = pd.DataFrame({'release' : ['7 June 2013', '2012', '31 January 2013',
'February 2008', '17 June 2014', '2013']})

我正在尝试使用以下命令将数据拆分并保存为名为“日、月和年”的 3 列:

dataframe[['day','month','year']] = dataframe['release'].str.rsplit(expand=True) 

生成的数据帧是: dataframe

正如您所看到的,当它获取 3 个字符串时它工作得很好,但是每当它获取少于 3 个字符串时,它就会将数据保存在错误的位置。

我尝试过 split 和 rsplit,两者都给出相同的结果。有什么解决方案可以在正确的位置获取数据吗?

最后一个是年份,它在每种情况下都存在,它应该是第一个被保存的,然后是月份(如果存在),否则什么也没有,并且应该以与日期相同的方式存储。

最佳答案

你可以

In [17]: dataframe[['year', 'month', 'day']] = dataframe['release'].apply(
lambda x: pd.Series(x.split()[::-1]))
In [18]: dataframe
Out[18]:
release year month day
0 7 June 2013 2013 June 7
1 2012 2012 NaN NaN
2 31 January 2013 2013 January 31
3 February 2008 2008 February NaN
4 17 June 2014 2014 June 17
5 2013 2013 NaN NaN

关于python - 如何以相反的顺序保存panda中的拆分数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40069551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com