Numpy ValueError:无法将字符串转换为浮点:';2019278';-潜在的非法字符或格式?
我在从对象到“float64”的格式转换中遇到问题。我不能执行任何矩阵运算,直到这种转换发生,一般来说,这是一个主要的烦恼,因为我陷入杂草 它可能与在原始格式的数组中包含空格或空格和撇号有关 原始数组如下所示:Numpy ValueError:无法将字符串转换为浮点:';2019278';-潜在的非法字符或格式?,numpy,Numpy,我在从对象到“float64”的格式转换中遇到问题。我不能执行任何矩阵运算,直到这种转换发生,一般来说,这是一个主要的烦恼,因为我陷入杂草 它可能与在原始格式的数组中包含空格或空格和撇号有关 原始数组如下所示: array([[' 2,019,278 ', ' 14,569,743 ', ' 14,116,057 ', ' 30,705,078 '], [' 514,049 ', ' 3,301,330 ', ' 1,775,624 ', ' 5,591,003 '], [' 40,
array([[' 2,019,278 ', ' 14,569,743 ', ' 14,116,057 ', ' 30,705,078 '],
[' 514,049 ', ' 3,301,330 ', ' 1,775,624 ', ' 5,591,003 '],
[' 40,364 ', ' 283,894 ', ' 138,342 ', ' 462,600 '],
[' 77,849 ', ' 528,504 ', ' 665,829 ', ' 1,272,182 '],
[' 4,534 ', ' 39,282 ', ' 23,902 ', ' 67,718 '],
[' 182,313 ', ' 795,102 ', ' 369,981 ', ' 1,347,396 '],
[' 256,867 ', ' 694,895 ', ' 240,025 ', ' 1,191,787 '],
[' 1,527,829 ', ' 12,690,612 ', ' 12,968,625 ', ' 27,187,066 '],
[' 771,142 ', ' 2,937,748 ', ' 1,612,082 ', ' 5,320,972 ']],
dtype=object)
a = pd.DataFrame.to_numpy(df_By_Race_Disability, dtype=None, copy=False)
a = a.astype('float64')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-18-ba9570a13fdd> in <module>
1 a = pd.DataFrame.to_numpy(df_By_Race_Disability, dtype=None, copy=False)
2 #b = pd.DataFrame.to_numpy(df_By_Race_Total, dtype=None, copy=False)
----> 3 a = a.astype('float64')
4 #b = b.astype('float64')
5 #b = np.reciprocal(b)
ValueError: could not convert string to float: ' 2,019,278 '
我的代码如下所示:
array([[' 2,019,278 ', ' 14,569,743 ', ' 14,116,057 ', ' 30,705,078 '],
[' 514,049 ', ' 3,301,330 ', ' 1,775,624 ', ' 5,591,003 '],
[' 40,364 ', ' 283,894 ', ' 138,342 ', ' 462,600 '],
[' 77,849 ', ' 528,504 ', ' 665,829 ', ' 1,272,182 '],
[' 4,534 ', ' 39,282 ', ' 23,902 ', ' 67,718 '],
[' 182,313 ', ' 795,102 ', ' 369,981 ', ' 1,347,396 '],
[' 256,867 ', ' 694,895 ', ' 240,025 ', ' 1,191,787 '],
[' 1,527,829 ', ' 12,690,612 ', ' 12,968,625 ', ' 27,187,066 '],
[' 771,142 ', ' 2,937,748 ', ' 1,612,082 ', ' 5,320,972 ']],
dtype=object)
a = pd.DataFrame.to_numpy(df_By_Race_Disability, dtype=None, copy=False)
a = a.astype('float64')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-18-ba9570a13fdd> in <module>
1 a = pd.DataFrame.to_numpy(df_By_Race_Disability, dtype=None, copy=False)
2 #b = pd.DataFrame.to_numpy(df_By_Race_Total, dtype=None, copy=False)
----> 3 a = a.astype('float64')
4 #b = b.astype('float64')
5 #b = np.reciprocal(b)
ValueError: could not convert string to float: ' 2,019,278 '
这是我收到的错误:
array([[' 2,019,278 ', ' 14,569,743 ', ' 14,116,057 ', ' 30,705,078 '],
[' 514,049 ', ' 3,301,330 ', ' 1,775,624 ', ' 5,591,003 '],
[' 40,364 ', ' 283,894 ', ' 138,342 ', ' 462,600 '],
[' 77,849 ', ' 528,504 ', ' 665,829 ', ' 1,272,182 '],
[' 4,534 ', ' 39,282 ', ' 23,902 ', ' 67,718 '],
[' 182,313 ', ' 795,102 ', ' 369,981 ', ' 1,347,396 '],
[' 256,867 ', ' 694,895 ', ' 240,025 ', ' 1,191,787 '],
[' 1,527,829 ', ' 12,690,612 ', ' 12,968,625 ', ' 27,187,066 '],
[' 771,142 ', ' 2,937,748 ', ' 1,612,082 ', ' 5,320,972 ']],
dtype=object)
a = pd.DataFrame.to_numpy(df_By_Race_Disability, dtype=None, copy=False)
a = a.astype('float64')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-18-ba9570a13fdd> in <module>
1 a = pd.DataFrame.to_numpy(df_By_Race_Disability, dtype=None, copy=False)
2 #b = pd.DataFrame.to_numpy(df_By_Race_Total, dtype=None, copy=False)
----> 3 a = a.astype('float64')
4 #b = b.astype('float64')
5 #b = np.reciprocal(b)
ValueError: could not convert string to float: ' 2,019,278 '
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
1 a=pd.DataFrame.to\u numpy(df\u By\u Race\u Disability,dtype=None,copy=False)
2#b=pd.DataFrame.to_numpy(df_By_Race_Total,dtype=None,copy=False)
---->3 a=a.astype('float64')
4#b=b.astype('float64')
5#b=np.倒数(b)
ValueError:无法将字符串转换为浮点:“2019278”
首先执行以下操作:
df_temp = df_By_Race_Disability.applymap(lambda x: x.replace(',', ''))
然后你可以继续你的代码
a = pd.DataFrame.to_numpy(df_temp, dtype=None, copy=False)
a = a.astype('float64')
首先要做到:
df_temp = df_By_Race_Disability.applymap(lambda x: x.replace(',', ''))
然后你可以继续你的代码
a = pd.DataFrame.to_numpy(df_temp, dtype=None, copy=False)
a = a.astype('float64')
字符串中的逗号
,
造成问题,请尝试使用.apply()
替换逗号,然后转换字符串中的逗号,
造成问题,尝试使用.apply()
替换逗号,然后转换