例如,我有一个csv文件,例如:
| a | b | c |
1 2 3
4 5 6
7 8 9
10 11 12
我需要从此csv文件创建一个numpy.ndarray。对于此示例,其大小应为(2,3)。
并且应该像这样
5(1+4), 7(2+5), 9(3+6)
17, 19, 21
将自己的行求和(每2行)
可以使用Panda,numpy或相似库。实际上,我正在用熊猫阅读csv,但此后我做不到。
任何帮助都可以申请。
如果您使用pandas
,则可以使用groupby
:
>>> df
a b c
0 1 2 3
1 4 5 6
2 7 8 9
3 10 11 12
>>> df.groupby(np.arange(len(df))//2).sum()
a b c
0 5 7 9
1 17 19 21
之所以groupby
可行,是因为可以对您传递的内容进行分组,而不仅是列名,而且在这种情况下,我们传递具有正确组号的数组:
>>> np.arange(len(df))
array([0, 1, 2, 3])
>>> np.arange(len(df))//2
array([0, 0, 1, 1])
如果您确实需要ndarray而不是数据框,则可以通过进行访问.values
。
>>> df.groupby(np.arange(len(df))//2).sum().values
array([[ 5, 7, 9],
[17, 19, 21]], dtype=int64)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句