擅长:python、mysql、java
<p>由于没有标题,列名是它们出现的整数顺序,即第一列是<code>df[0]</code>。要以编程方式将最后一列设置为<code>int32</code>,您可以读取文件的第一行以获取数据帧的宽度,然后构建一个整数类型字典,使用列数作为键</p>
<pre><code>import numpy as np
import pandas as pd
with open('file.dat') as fp:
width = len(fp.readline().strip().split(','))
dtypes = {i: np.int8 for i in range(width)}
# update the last column's dtype
dtypes[width-1] = np.int32
# reset the read position of the file pointer
fp.seek(0)
df = pd.read_csv(fp, sep=',', engine='c', header=None,
na_filter=False, dtype=dtypes, low_memory=False)
</code></pre>