我有一个这样的数据框df:
a b
1 2
3 4
但是数据类型是每个值,例如ndarray
type(df.a.values[0])
numpy.ndarray
和
df.a.values[0]
array([1])
我想将整个数据框转换为数字类型,并且所有值类型都应为int或float。
我尝试了这段代码
df = df.apply(pd.to_numeric)
但是此代码不起作用,如何处理?
但是当我使用to_csv将文件保存在本地并使用read_csv进行读取时,它会自动转换。但是如何即时转换?
答案 0 :(得分:1)
您可以通过使用
将类型更改为numpy int或floatdf.astype(np.float64)
转换后,您将获得
dtype: float64
答案 1 :(得分:0)
如果所有单元格仅包含一个值,则可以使用
df.a.apply(lambda a: a[0])
从单元格中包含的数组中获取值。
如果可能的话,可能值得重新进行从数据到数据框的转换,以摆脱这些零维数组。