我正在寻求一些帮助,因为我实际上对熊猫(和Python)还很陌生。 我遇到了一些数据的数据类型转换问题。在
如您所见(并尝试),我试图告诉pandas,我希望它将“DEP”数据列作为字符串读取(因为我希望保持数据不变)
>>> df = pd.read_excel("http://www2.impots.gouv.fr/documentation/statistiques/ircom2003/dep/060.xls", 0, skiprows=23, na_values="n.d.")
>>> df.dtypes
Unnamed: 0 float64
DEP float64
Commune float64
...
>>> df["DEP"] = df["DEP"].astype(str)
>>> df.dtypes
Unnamed: 0 float64
DEP object
Commune float64
.....
>>> df["DEP"][5]
'60.0'
如果需要,可以下载excel文件,但是输入数据如下:(我在列名之间添加了斜杠)
^{pr2}$在本例中,我只想将数据“060”和“001”保留为字符串。 我使用的是python3.4和pandas 0.16
非常感谢你的帮助。在
还有另一种可能。我得承认有点难看,但我测试成功了。在
您需要创建一个新类:
然后定义一个转换函数:
^{pr2}$在您的函数(要读取_excel的位置)中,假设有28列要读取,请执行以下操作:
最后你得到了与CSV.DictReader如果你把数据格式化成CSV格式
可以使用以下格式转换为字符串:
convert to int以删除小数点,并将int转换为带3位数字的字符串。在
编辑:为了详细说明,excel将数字存储为浮点数,而不是像csv文件那样的字符串。读取.csv文件时,可以指定列“dtype”s
相关问题 更多 >
编程相关推荐