[英]Reading all values from certain columns in csv into one array python
我有以下形式的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數據幀中來進行此操作。 將每一列轉換為一個數組,遍歷每個數組,並將值附加到一個新數組。 我知道這是非常低效的。 有一個更好的方法嗎? 謝謝!
使用numpy.ravel
通過列名選擇列:
A = df[['a2', 'a3', 'a4', 'a5']].values.ravel()
或按filter
:
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.