gpt4 book ai didi

python - 将函数应用于数据框

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:01 24 4
gpt4 key购买 nike

我刚开始使用 apply:

import pandas
df=pandas.DataFrame({"k1":['2017-03-07','2017-02-07','2017-01-15'],
"k2":[1,2,3],})

我想获取匹配某个月份的数据。例如:我想获取月份==2:

df[pandas.to_datetime(df.k1).dt.month == 2]

但是我想写一个参数可以匹配月份的函数。这是我的职责。这不起作用。

def get_month(df, mon=1):
return df[pandas.to_datetime(df.k1).dt.month == mon]

df.apply(get_month)

最佳答案

您需要稍微重构一下您的代码。 apply 每行有效。

代码:

def get_month(mon):
return lambda x: pandas.to_datetime(x.k1).month == mon

测试代码:

df = pandas.DataFrame({"k1": ['2017-03-07', '2017-02-07', '2017-01-15'],
"k2": [1, 2, 3], })

print(df[df.apply(get_month(1), axis=1)])

结果:

           k1  k2
2 2017-01-15 3

关于python - 将函数应用于数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42756402/

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