gpt4 book ai didi

python - 如何从 python 数据框列中的项目列表中提取项目?

转载 作者:行者123 更新时间:2023-12-01 02:36:47 25 4
gpt4 key购买 nike

我有一个像这样的数据框:

  Date         sdate  
0 2012-3-12 [2012, 03, 12]
1 2012-3-25 [2012, 03, 25]
2 2012-4-20 [2012, 04, 20]
3 2012-4-12 [2012, 04, 12]
4 2012-4-26 [2012, 04, 26]

我需要提取年、月和日来分隔这样的列

           Date            sdate     year   month  day 
0 2012-3-12 [2012, 03, 12] 2012 03 12
1 2012-3-25 [2012, 03, 25] 2012 03 25
2 2012-4-20 [2013, 04, 20] 2013 04 20
3 2012-4-12 [2015, 06, 12] 2015 06 12
4 2012-4-26 [2011, 08, 26] 2011 08 26

我可以使用 for 循环实现这一点吗?

最佳答案

applypd.Series结合使用并重命名

In [784]: df.sdate.apply(pd.Series).rename(columns={0:'year',1:'month',2:'day'})
Out[784]:
year month day
0 2012 3 12
1 2012 3 25
2 2012 4 20
3 2012 4 12
4 2012 4 26

加入到原始df

In [785]: df.join(df.sdate.apply(pd.Series).rename(columns={0:'year',1:'month',2:'day'}))
Out[785]:
Date sdate year month day
0 2012-3-12 [2012, 3, 12] 2012 3 12
1 2012-3-25 [2012, 3, 25] 2012 3 25
2 2012-4-20 [2012, 4, 20] 2012 4 20
3 2012-4-12 [2012, 4, 12] 2012 4 12
4 2012-4-26 [2012, 4, 26] 2012 4 26

或者,提供列名称作为 index

In [786]: df.sdate.apply(lambda x: pd.Series(x,  index=['year', 'month', 'day']))
Out[786]:
year month day
0 2012 3 12
1 2012 3 25
2 2012 4 20
3 2012 4 12
4 2012 4 26

关于python - 如何从 python 数据框列中的项目列表中提取项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46129407/

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