使用Python的Pandas模块运行```corr()```时出现错误。

6
在使用pandas模块中的Python中的corr()方法时,我遇到了以下错误:
FutureWarning: The default value of numeric_only in DataFrame.corr is deprecated. In a future version, it will default to False. Select only valid columns or specify the value of numeric_only to silence this warning.
  print(df.corr())

注意(仅作澄清):- df 是从一个csv文件中读取的数据帧的名称。

例如:

import pandas as pd

df = pd.read_csv('Data.csv')
print(df.corr())

问题仅限于corr()方法,该方法引发了上述错误:

FutureWarning: The default value of numeric_only in DataFrame.corr is deprecated. In a future version, it will default to False. Select only valid columns or specify the value of numeric_only to silence this warning.

我对错误有部分理解,但我想知道:

除了使用corr()方法来识别数据集中每个列之间的关系外,是否还有其他替代方法?例如,是否有一种方法可以在不使用corr()方法的情况下复制该函数的功能?

如果我的问题有误或不当之处,请多指教。

谢谢。


你还有其他避免使用corr方法的原因吗?因为它通常并不被弃用,只是其numeric_only参数的默认值被弃用了。使用df.corr(numeric_only=True)(或False,根据需要而定)可以消除警告。 - matszwecja
好的,谢谢...我避免它的唯一原因是它在我的代码中抛出错误。 - Elixir0101
你应该编辑帖子并添加你的代码以获得更好的帮助。 - Esraa Abdelmaksoud
问题不在我的代码上,而是在那个方法上——corr 方法。 - Elixir0101
不过@matszwecja的评论解决了我的问题,我想关闭这个问题。 - Elixir0101
2个回答

7
问题仅在一个名为corr()的函数上,它并未被弃用,但其函数中的numeric_only参数已经被弃用。因此,您可以通过df.corr(numeric_only=[True/False])根据需求将其设置为false或true。您可以在文档中了解更多信息。

3
感谢@matszwecja的回答,使用df.corr(numeric_only = True)(或False,根据需要而定)可以消除警告,因为只有numeric_only的默认值已被弃用,即在将来的版本中它将被设置为false: Pandas文档/参考 附言:我编写了这个回答来关闭这个问题,因为它已经在评论中得到了回答。

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接