簡體   English   中英

將csv中某些列的所有值讀入一個數組python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM