使用Pandas从CSV文件生成指定行数(前100/1000行)的矩阵方法
解决CSV生成矩阵时行数过多的问题
很简单,你只需要在生成透视表前先截取数据的前N行就行啦,这里有两种实用的方法:
方法一:读取CSV时直接限制行数(推荐)
如果你的CSV文件特别大,这种方法更高效——它不会把整个文件都加载到内存里,只读取前100/1000行:
# 读取前100行,指定要保留的列和列名 df = pd.read_csv('csv-path', usecols=[0,1], names=['A', 'B'], nrows=100) # 基于截取后的小数据集生成矩阵 small_matrix = pd.pivot_table(df, columns='A', values='B')
把nrows=100改成nrows=1000就能取前1000行啦。
方法二:读取完整数据后再截取
如果你已经把整个CSV读进了DataFrame,也可以用head()方法快速截取前N行:
# 先读取完整数据(如果已经执行过这一步) df = pd.read_csv('csv-path', usecols=[0,1], names=['A', 'B']) # 截取前1000行 df_small = df.head(1000) # 生成矩阵 small_matrix = pd.pivot_table(df_small, columns='A', values='B')
两种方法都能帮你得到只包含前N条数据的矩阵,根据你的实际情况选就行~
内容的提问来源于stack exchange,提问作者Kanhu Majhi
相关产品推荐
相关产品推荐

