我想用熊猫做点什么似乎很难。我希望我错了
我想打开一个csv文件,将每列的dtype设置为int,除了我要删除的一列。 我现在不提前提供的名称和/或列数。 非int列始终出现在同一位置,每隔一列只有整数。
数据:
foo.csv:
a b c d e f g ...
1 700592 a 23 ... ... ...
2 808295 b 24 ... ...
3 106796 c 25 ...
4 166438 d 26 ...
5 172594 e 27 ...
我想做什么:
df = pd.read_csv(foo.csv, usecols=[0,1,3, ...], dtype=int)
我可以读取完整文件,删除非int列,并全局更改类型,但数据可能非常大,因此需要考虑速度和内存。
答案 0 :(得分:0)
在传递给大熊猫之前,请使用np.loadtxt()
:
import numpy as np
f = np.loadtxt("foo.csv", usecols=[0,1,2,4], dtype="int32")
pd.DataFrame(f)
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.loadtxt.html