两个元组作为python列表中的一个元素

时间:2018-02-18 07:40:53

标签: python pandas dataframe

我现在习惯了python列表。但是我遇到了一个复杂的列表,我解析它时遇到了麻烦。

prediction=[('__label__inflation_today', 0.8),('__label__economic_outlook', 0.2)]

我试图以更好的方式呈现这种预测,比如excel。

predicted label              probability
Inflation_today              0.8
Economic_outlook             0.2

2 个答案:

答案 0 :(得分:2)

你可以尝试

for x in prediction:
   string=x[0].replace('__label__','')
   print(string,":",x[1])

inflation_today : 0.8
economic_outlook : 0.2

如果您想使用这些名称访问它,您还可以创建字典

d={}
for x in prediction:
   string=x[0].replace('__label__','')
   d[string]=x[1]

d
{'economic_outlook': 0.2, 'inflation_today': 0.8}

d['economic_outlook']
0.2

答案 1 :(得分:1)

一种可能的解决方案是pandas DataFrame, 然后使用Series.str.replace

import pandas as pd
prediction=[('__label__inflation_today', 0.8), ('__label__economic_outlook', 0.2)] 
df = pd.DataFrame(prediction, columns=['predicted label',' probability'])

df['predicted label'] = df['predicted label'].str.replace('__label__', '')

print (df)
    predicted label   probability
0   inflation_today           0.8
1  economic_outlook           0.2

如果仅需要数据使用DataFrame.to_string

print (df.to_string(index=False, header=None))
inflation_today  0.8
economic_outlook  0.2