gpt4 book ai didi

python - Pandas 数据框行的条件循环

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:50 25 4
gpt4 key购买 nike

我有一个数据框,我从一个更大的框架中解析出来,如下所示:

Contract Date
2012.0
2011.0
2011.0
2010.0
1312.0
1235.0
1235.0
1235.0
1230.0
.
.
111.0
111.0
110.0
110.0

我已将整个内容转换为字符串,以便我可以对值进行切片,因为这些日期的格式非常奇怪。

基本上 2012.0 - 2010.0 是每年的十二月 (2012 - 2010),但是像 1235.0110.0 这样的日期是 MMYY 格式- 1235.0 是 2035 年 12 月,110.0 是 2010 年 1 月。

我想要的是创建一个简单的循环来迭代这些日期,并根据我上面描述的条件将它们转换为月份和年份。我尝试首先使用 iterrows 的糟糕尝试获取月份:

for index, row in contract.iterrows():
if len(row) > 4:
contract['Month'] = contract['Contract_Exp_Date'].str[:2]
else:
contract['Month'] = contract['Contract_Exp_Date'].str[:1]

但这并没有奏效并且循环了很长时间 - 可能是因为我需要 appending 到一个新列而不是创建一个新列 Month every迭代。

如何根据我上面提到的条件正确地遍历每一行并抓取月份和年份?

最佳答案

不需要条件,只使用除最后三个字符之外的所有内容的逻辑,所以逻辑写成:

2018.0
^^^
removed
111.0
^^^
removed

所以使用:

df['Contract']=df['Contract'].str[:-3]

现在:

print(df['Contract'])

是:

0     201
1 201
2 201
3 201
4 131
5 123
6 123
7 123
8 123
9 11
10 11
11 11
12 11
Name: Contract, dtype: object

关于python - Pandas 数据框行的条件循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716313/

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