我有一个包含数百万行的 CSV 文件,格式如下:
start, finish,count;
101,101,10;
101,103,2;
101,104,8;
102,103,5;
因此,我们有一个起始位置、一个结束位置以及完成该旅程的人数。
我想做的是将其放入一个“表格式”矩阵中,所有起始位置都沿着顶部运行,所有结束位置沿着侧面运行,并且在矩阵主体中的总和为位于该相交处的所有计数。
到目前为止,我已经清理和导入了 CSV 文件,并将开始和结束位置存储为向量,但是我不确定在形成矩阵主体时如何继续,有人可以帮忙吗?
谢谢。
编辑:我希望它看起来如下:
101,102;
101,10,0;
103,2,5;
104,8,0;
最佳答案
使用set_index
和unstack
df.set_index(['start', 'finish'])['count'].unstack(0)
保存到 csv
print df.set_index(['start', 'finish'])['count'].unstack(0).rename_axis(None) \
.to_csv('myfilename.csv')
,101,102
101,10.0,
103,2.0,5.0
104,8.0,
关于python - 基于 CSV 创建二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38767866/