如何从Pandas屏幕打印两列值?

时间:2016-09-26 11:40:55

标签: python formatting special-characters

说我有一个我在pandas DataFrame中加载的发行版。我的数据框由5列A到E组成,我想在屏幕上打印彼此相邻的平均值和标准差:

avg=df.mean()
stdev=df.std()

Avg                St Dev
A    87.1717       A   1.354
B    87.0517       B   0.789
C    84.1717       C   1.221
D    86.8000       D   3.214
E    84.1705       E   4.170

如何使用print格式进行此操作?我可能会执行以下操作

print '%-10s' '%s' % ('Avg','St Dev')
print '%-10s' '%s' % (df.mean(),df.std())

然后只会正确显示标题,并且值很乱:

Avg       St Dev
A    87.1717
B    87.0517
C    84.1717
D    86.8000
E    84.1705
dtype: float64A    1.354
B    0.789
C    1.221
D    3.214
E    4.170
dtype: float64

2 个答案:

答案 0 :(得分:1)

我的建议是创建一个包含2列(Avg& St Dev)的新DataFrame,然后只打印新的DataFrame。

答案 1 :(得分:1)

也许您可以在新数据框中组合两个单独的列(使用pd.DataFrame(means,stds))。使用彼此相邻的列打印这个新数据框应该很容易(尽管效率最低)。

不确定是否相关,但您可以使用pandas描述功能吗?您可以在此处找到它:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.describe.html