我有以下格式的csv格式数据:
A B a1 a2 a3 a4 a5
1 0 100 34 44 1 1
2 0 101 1 44 11 3
3 0 105 3 55 21 22
4 0 45 4 52 1 45
5 0 57 5 42 3 56
6 0 89 78 1 3 67
7 0 34 99 2 4 98
8 0 57 23 2 5 2
我想将a1列中的数据存储在一个数组中,以提供:
100
34
44
1
1
101
1
44
.
.
我可以使用python通过将csv中我想要的列读入pandas数据帧来实现。将每列转换为数组,循环遍历每个数组,并将值附加到一个新数组。我知道这是非常低效的。有一个更好的方法吗?谢谢!
答案 0 :(得分:2)
使用https://firebase.google.com/docs/functions/local-emulator#invoke_realtime_database_functions按列名称选择列:
A = df[['a2', 'a3', 'a4', 'a5']].values.ravel()
A = df.filter(like='a').values.ravel()
或按位置 - 从第二列到结尾:
A = df.iloc[:, 2:].values.ravel()
print (A)
[100 34 44 1 1 101 1 44 11 3 105 3 55 21 22 45 4 52
1 45 57 5 42 3 56 89 78 1 3 67 34 99 2 4 98 57
23 2 5 2]