更改Pandas .loc输出格式

时间:2019-11-14 03:55:44

标签: python pandas

我有一个非常快速/简单的问题。我已经从数据表中创建了一个列表,并使用.loc将数据表中的值提取到列表中。但是,我想将格式更改为其他格式。

这是我当前的代码:

import re
import os
import pandas as pd

os.chdir('C:/Users/Sams PC/Desktop')
f=open('test5.txt', 'w')

test1=pd.read_csv('test1.txt', sep='\s+', header=None)
test1.columns=['Column_1','Column_2','Column_3']
test2=pd.read_csv('test2.txt', sep='\s+', header=None)
test2.columns=['Column_1','Column_2','Column_3','Column_4']
x=re.findall('[A-Z][0-9][0-9][A-Z]-[H][N]',str(test1))
y=re.findall('[A-Z][0-9][0-9][A-Z]-[C][A]-[H][N]',str(test2))
data=[]
for i in range (0,2):
    if x[i] in str(test1):
        data2=test1.set_index('Column_1',drop=False)
        data3=(data2.loc[str(x[i]), 'Column_2':'Column_3'])
        print(data3)
        data.append(data3)
        if y[i] in str(test2):
            data2=test2.set_index('Column_1',drop=False)
            data3=(data2.loc[str(y[i]),'Column_3'])
            data.append(data3)
        else:
            print('Not Found')
    else:
        print('Not Found')

print (data)
f.write(str(data))
f.close()

我的输出:

[Column_2    114.424
Column_3       7.39
Name: S31N-HN, dtype: object, 61.717, Column_2    121.981
Column_3      7.468
Name: Y32N-HN, dtype: object, 60.788999999999994]

虽然脚本完全按照我想要的去做(从我的数据表中从S31N和Y32N获取正确的值),但现在的格式不可用。理想情况下,我想要一个简单的清单,例如:

114.424
7.39
61.717
121.981
7.468
60.78

或者,如果可能的话,最好在其旁边使用索引值。即

S31N-HN 114.424
S31N-HN 7.39
S31N-CA-HN 61.717
etc.

1 个答案:

答案 0 :(得分:0)

尝试

data.append(list(data3.values))

更新 data.append(list(data3))仅适用于系列,即您选择的是单行