我试图读入一个大数据帧,但我不断得到错误:DtypeWarning: Columns (3,4,5,12,13,14,17,18,19,22,23,24) have mixed types. Specify dtype option on import or set low_memory=False.
假设这是一个非常简化的版本,即我的数据帧的外观:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': ['alice', 'bob', np.nan, '--', 'jeff', np.nan],
'B': ['JFK', np.nan, 'JFK', 'JFK', 'JFK', 'JFK'],
'C': [.25, 0.5, np.nan, 4, 12.2, 14.4]})
A B C
0 alice JFK 0.25
1 bob NaN 0.50
2 NaN JFK NaN
3 -- JFK 4.00
4 jeff JFK 12.20
5 NaN JFK 14.40
据我所知,NaN是一种浮点数据类型
在A列中,在保持列中的相同数据类型的同时,表示空白值的最佳方法是什么?我想将“---”也更改为空值。类似地,在B列中,NaN(浮点)与JFK(字符串)混合。解决这个问题的最好办法是什么
最后我想做pd.read_csv(,dtype={'A':str,'B':str,'C':np.int32})之类的事情。如果我在这里也错了,请纠正我
编辑:
test = pd.read_csv('test.csv', na_values='--', dtype = {'A':str, 'B': str, 'C':np.float64})
in: test
out:
A B C
0 alice JFK 0.25
1 bob NaN 0.50
2 NaN JFK NaN
3 NaN JFK 4.00
4 jeff JFK 12.20
5 NaN JFK 14.40
type(test.iloc[2]['A']) # float
type(test.iloc[1]['A']) # string
这些是不同类型的可以吗?有没有办法把两者都变成一根线?或者甚至不建议这样做
目前没有回答
相关问题 更多 >
编程相关推荐