这是我正在使用的代码,我也尝试过将列的数据类型转换为float,但我得到了这个错误
df = pd.read_csv('DDOSping.csv')
pearsoncorr = df.corr(method='pearson')
ValueError:无法将字符串转换为浮点值:'172.27.224.251-172.27.224.250-56003-502-6'
在CSV中的某个位置,此字符串值存在"172.27.224.251-172.27.224.250-56003-502-6"。您知道它为什么存在吗?它代表什么?在我看来,它不应该出现在相关矩阵计算中包含的数据中。
df.corr
方法试图将字符串值转换为浮点值,但这显然是不可能的,因为它是一个包含各种字符的大型复杂字符串,而不是一个正则数。
你应该清理CSV中不必要的数据(或者制作一份副本并清理,这样你就不会丢失任何重要的数据(。删除任何不是df.corr
所需的确切数据的内容,如元数据,包括错误消息中的字符串。
如果只需要清理几个值,那么只需在excel或文本编辑器中打开即可进行清理。如果要删除的数据很多,并且所有不相关的数据都在特定的行和/或列中,则可以在调用"df.corr"之前将它们从DataFrame中删除,而不是清除文件本身。