我想在我创建的pandas.DataFrame上使用apply,并为每一行返回一个值列表,其中每个值都是一个列。
我编写了以下代码:
当我添加
然而,如果我去掉
我编写了以下代码:
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来运行我的代码
df.apply()
而不是df.groupby.apply()
,因为groupby apply
函数目前尚不支持expand_result
:https://pandas.pydata.org/docs/reference/api/pandas.core.groupby.GroupBy.apply.html。 - charelf