获取python numpy数组的列名

问题描述 投票:4回答:2

我有一个csv数据文件,其中包含一个表示列名的标题。

xy   wz  hi kq
0    10  5  6
1    2   4  7
2    5   2  6

我跑:

X = np.array(pd.read_csv('gbk_X_1.csv').values)

我想获取列名称:

['xy', 'wz', 'hi', 'kg']

我读了这个post,但解决方案为我提供了无。

python arrays pandas numpy
2个回答
3
投票

使用以下代码:

import re

f = open('f.csv','r')

alllines = f.readlines()
columns = re.sub(' +',' ',alllines[0]) #delete extra space in one line
columns = columns.strip().split(',') #split using space

print(columns)

假设CSV文件是这样的:

xy   wz  hi kq
0    10  5  6
1    2   4  7
2    5   2  6

1
投票

我们假设您的csv文件看起来像

xy,wz,hi,kq
0,10,5,6
1,2,4,7
2,5,2,6

然后使用pd.read_csv将文件转储到数据帧中

df = pd.read_csv('gbk_X_1.csv')

数据框现在看起来像

df

   xy  wz  hi  kq
0   0  10   5   6
1   1   2   4   7
2   2   5   2   6

它的三个主要组成部分是

  • 您可以通过values属性访问的数据 df.values array([[ 0, 10, 5, 6], [ 1, 2, 4, 7], [ 2, 5, 2, 6]])
  • 您可以通过index属性访问的索引 df.index RangeIndex(start=0, stop=3, step=1)
  • 您可以通过columns属性访问的列 df.columns Index(['xy', 'wz', 'hi', 'kq'], dtype='object')

如果要将列作为列表,请使用to_list方法

df.columns.tolist()

['xy', 'wz', 'hi', 'kq']
© www.soinside.com 2019 - 2024. All rights reserved.