我现在习惯了python列表。但是我遇到了一个复杂的列表,我解析它时遇到了麻烦。
prediction=[('__label__inflation_today', 0.8),('__label__economic_outlook', 0.2)]
我试图以更好的方式呈现这种预测,比如excel。
predicted label probability
Inflation_today 0.8
Economic_outlook 0.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