Python 如何在没有dtype函数的情况下提取数据类型列
目前,我正在使用dtype函数提取每列的数据类型。我正在尝试在不使用dtype函数的情况下提取数据类型,并在dict中创建一个结果,其中key作为列名,value作为数据类型Python 如何在没有dtype函数的情况下提取数据类型列,python,python-3.x,pandas,Python,Python 3.x,Pandas,目前,我正在使用dtype函数提取每列的数据类型。我正在尝试在不使用dtype函数的情况下提取数据类型,并在dict中创建一个结果,其中key作为列名,value作为数据类型 Example Import pandas as pd df=pd.read_excel(file,dtype=object) 我将每个数据作为字符串加载,因为数据有一些Nan值和#N/A值,所以会自动将int转换为float,以防止这种转换,我将数据作为对象加载 Expected output format wit
Example
Import pandas as pd
df=pd.read_excel(file,dtype=object)
我将每个数据作为字符串加载,因为数据有一些Nan值和#N/A值,所以会自动将int转换为float,以防止这种转换,我将数据作为对象加载
Expected output format with sample data.
A B C D E f
1.0 3 Nan ram 1-09-2019 2
2.0 4 roh raj 2-08-2020 3
NaN 3.0 ro rax 3/09/2020 4
Result :
{'A':'float','B':'float','C':'string','D':'string','E':'datetime','f':'int'}
您能给我一些建议或示例,说明我如何在不使用dtype函数的情况下处理这个预期输出。不要将所有内容都作为字符串导入,然后尝试重新创建轮子。相反,让pandas在导入时推断数据类型,然后将列推断为最佳类型(日期列必须进行明确转换,或者在导入时指示它们) 结果:
A B C D E f
0 1 3 Nan ram 2019-01-09 2
1 2 4 roh raj 2020-02-08 3
2 <NA> 3 ro rax 2020-03-09 4
请你澄清一下好吗?您不希望预期结果中的第一个to列为“int”吗?Pandas有一个pd.to_numeric()函数,允许您将任何数值列向下转换为float/int,对于包含日期的对象列,有一个pd.to_datetime()函数。此外,您可以在使用read_csv()时指定每列的数据类型。这难道不能解决你的问题吗?@flow\u me\u over1我已经尝试了所有这些,然后我就要放弃所有这些。
A B C D E f
0 1 3 Nan ram 2019-01-09 2
1 2 4 roh raj 2020-02-08 3
2 <NA> 3 ro rax 2020-03-09 4
A Int64
B Int64
C string
D string
E datetime64[ns]
f Int64