con缩数据框架有效



这是正确工作的Concat方法。

pd.concat([myd['a'], myd['b']], axis=1)
    YearFrom    cnt YearFrom    cnt
0   1001    9   1001    2
1   2010    3   2010    1
2   2011    199787  2011    127485
3   2012    214548  2012    144348
4   2013    991 2013    1396
5   2014    236596  2014    159302
6   2015    241611  2015    164767
7   2016    195123  2016    162352

1(我希望"年度"列仅出现一次,并且CNT应该由cnt_a和cnt_b

(例如

2(另一个问题是词典中存储了几个这样的数据框。我希望以下理解能够起作用。但是遇到错误:

pd.concat([[myd[i] for i in myd]], axis=1)
TypeError: cannot concatenate a non-NDFrame object

更新:我需要在最终数据框架中添加一列和一行。

这在最后添加了总列。没有问题:(

df['total']=df.sum(axis=1)

这完全返回我需要的东西,但不包括索引。我需要将此行命名为" sum"。

df.append(df.sum(numeric_only=True), ignore_index=True)

我认为您需要set_index来对齐数据:

myd = myd.set_index('YearFrom')
pd.concat([myd['a'], myd['b']], axis=1)

,第二:

df = pd.concat([v.set_index('yearFrom') for k, v in myd.items()], axis=1, keys=myd.keys())

对于总行需要:

df.loc['total']=df.sum()

相关内容

最新更新