Pandas Python 3.11 Pivot FutureWarning: DataFrameGroupBy中num



有一个大的文本和数字混合表,我从大表中透视一个较小的集合。当我更新到Python 3.11时,我现在收到了一个关于我的枢轴的FutureWarning。

df = df.pivot_table(df2,index=['My_text_Column'], aggfunc='sum').reset_index()

代码运行正常,但结果是

FutureWarning: numeric_only in的默认值DataFrameGroupBy。Sum已弃用。在将来的版本中,numeric_only默认为False。指定numeric_only或select only对于函数应该有效的列。

我应该使用的更新代码是什么?

我在这里的代码中遇到了完全相同的问题https://www.geeksforgeeks.org/pivot-tables-in-pandas/

添加values = "Marks">

# pivot_table() method
display(pd.pivot_table(df, index = ["ID", "Name"]))

所以我有:-

display(pd.pivot_table(df, values="Marks", index = ["ID", "Name"]))

删除警告。我试着使用:-

display(pd.pivot_table(df, numeric_only = None, index = ["ID", "Name"]))

但是得到了警告TypeError: pivot_table() got an unexpected keyword argument 'numeric_only'。因此,在pivot_table()中指定'numeric_only = True'似乎并不是什么大事。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html上的pandas文档也没有让它更清晰。

display(pd.pivot_table(df, numeric_only = None, index = ["ID", "Name"]))

问题是df中存在非数值数据。为了调用pivot_table函数,应该替换'values'中的非数字数据:

df.replace('non numeric string', np.nan, inplace=True)
display(df.pivot_table(df, index = 'ID', columns='Name', values='Data'))

相关内容

  • 没有找到相关文章

最新更新