从python3中的numpy数组中提取数据

时间:2019-06-22 21:31:15

标签: python-3.x csv numpy

我使用csvnumpy.txt文件导入到python中,结果如下:

>>> print(FH)
array([['Probe_Name', '', 'A2M', ..., 'POS_D', 'POS_E', 'POS_F'],
       ['Accession', '', 'NM_000014.4', ..., 'ERCC_00092.1',
        'ERCC_00035.1', 'ERCC_00034.1'],
       ['Class_Name', '', 'Endogenous', ..., 'Positive', 'Positive',
        'Positive'],
       ...,
       ['CF33294_10', '', '6351', ..., '1187', '226', '84'],
       ['CF33299_11', '', '5239', ..., '932', '138', '64'],
       ['CF33300_12', '', '37372', ..., '981', '202', '58']], dtype=object)

每个列表都是一列,每列的第一项是标题。我想以不同的方式绘制数据。为此,我想为每一列设置变量。例如,我想以print(Probe_Name)作为标题的第一列,结果将显示为:

A2M
.
.
.
POS_D
POS_E
POS_F

,其余的列就是这种情况。然后我将绘制变量。 我试图在python3中这样做:

def items(N_array:) 
    for item in N_array:
        name = item[0]
        content = item[1:]
    return name, content

print(items(FH))不会返回我期望的结果。你知道如何解决吗?

1 个答案:

答案 0 :(得分:0)

一种简单的方法是使用pandas数据框。当您使用pandas数据框读取csv文件时,实际上就得到了“列”的集合(在pandas中称为系列)。

import pandas as pd
df = pd.read_csv("your filename.csv")
df 

  Probe_Name  Accession
0        A2m    MD_9999
1      POS_D  NM_0014.4
2      POS_E      99999

现在我们可以处理标题列自动命名的每一列。

print(df['Probe_Name'])
0      A2m
1    POS_D
2    POS_E

此外,您可以进行绘图(假设此处有数字数据)。

http://pandas.pydata.org/pandas-docs/stable/index.html