在python中将列名转换为变量

2024-10-06 09:09:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我从csv文件导入数据并将其存储在pandas dataframe中。以下是csv文件中的图像:

example csv file

对于每一行,我需要这样的字符串:

output variables

以下是我用于从csv文件导入数据并将其存储在dataframe中的代码:

import csv
import pandas as pd

filename ="../Desktop/venkat.csv"
df = pd.read_table(filename,sep=" ")

我怎样才能做到这一点?在


Tags: 文件csv数据字符串代码图像importdataframe
3条回答

我认为最好使用dict来用^{}保存数据:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

#select some row - e.g. with index 2
print (df.loc[2])
A    3
B    6
C    9
D    5
E    6
F    3
Name: 2, dtype: int64

d = df.loc[2].to_dict()
print (d)
{'E': 6, 'B': 6, 'F': 3, 'A': 3, 'C': 9, 'D': 5}

print (d['A'])
3

如果排序很重要,请使用^{}

^{pr2}$

如果需要列中的所有值,请使用^{}

^{3}$
d = df.to_dict(orient='index')
print (d)
{0: {'E': 5, 'B': 4, 'F': 7, 'A': 1, 'C': 7, 'D': 1}, 
1: {'E': 3, 'B': 5, 'F': 4, 'A': 2, 'C': 8, 'D': 3}, 
2: {'E': 6, 'B': 6, 'F': 3, 'A': 3, 'C': 9, 'D': 5}}


#get value in row 2 and column A 
print (d[2]['A'])
3
import csv
csvfile = open('test.csv','r')
csvFileArray = []
for row in csv.reader(csvfile, delimiter = '\t'):
    csvFileArray.append(row)

header =csvFileArray[0][0].split(',')

str_list=[]
for each in csvFileArray[1:]:
    data= each[0].split(',')
    local_list = []
    for i in range(len(data)):
        str_data =' '.join([header[i], '=', data[i]])
        local_list.append(str_data)
    str_list.append(local_list)

print str_list

考虑数据帧df

df = pd.DataFrame(np.arange(10).reshape(-1, 5), columns=list('ABCDE'))

   A  B  C  D  E
0  0  1  2  3  4
1  5  6  7  8  9

您可以为每一行获取一系列json字符串

^{pr2}$

相关问题 更多 >