gpt4 book ai didi

python - 将 result_type 与 pandas apply 函数一起使用

转载 作者:太空狗 更新时间:2023-10-29 22:20:44 24 4
gpt4 key购买 nike

我想使用 applypandas.DataFrame 上我创建的,并为每一行返回一个值列表,其中每个值本身就是一列。

我写了下面的代码:

import pandas as pd

def get_list(row):
return [i for i in range(5)]

df = pd.DataFrame(0, index=np.arange(100), columns=['col'])


df.apply(lambda row: get_list(row), axis=1, result_type='expand')

当我添加 result_type='expand' 以将返回的数组更改为单独的列时,我收到以下错误:

TypeError: ("<lambda>() got an unexpected keyword argument 'result_type'", 'occurred at index 0')

但是,如果我删除 result_type 字段,它运行良好(返回一列数组),可能是什么问题?

  • 我正在使用 colab运行我的代码

最佳答案

此代码适用于 pandas 版本 0.23.3,您只需在终端中运行 pip install --upgrade pandas 即可。

或者

您可以在没有 result_type 的情况下完成它,如下所示:

def get_list(row):
return pd.Series([i for i in range(5)])

df = pd.DataFrame(0, index=np.arange(100), columns=['col'])
pd.concat([df, df.apply(get_list, axis=1)], axis=1)

col 0 1 2 3 4
0 0 0 1 2 3 4
1 0 0 1 2 3 4
2 0 0 1 2 3 4
3 0 0 1 2 3 4
4 0 0 1 2 3 4
...

顺便说一句,你不需要 lambda,你可以:

df.apply(get_list, axis=1, result_type='expand')

更新result_type 在 pandas 0.23 的发行说明中公布:https://pandas.pydata.org/pandas-docs/stable/whatsnew.html#whatsnew-0230所以恐怕你必须更新。

关于python - 将 result_type 与 pandas apply 函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52854147/

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