合并具有不同索引的pandas系列(在一个索引上对齐)

时间:2018-04-07 06:41:57

标签: python pandas indexing merge

我有不同熊猫系列的结果,最终以1x1系列结束。现在我想将它们全部合并到1xN行。他们每个人都可能有不同的指数。

我可以重置每个索引创建一个新的数据框。但是,我想知道是否有更快/更容易的方法。

edit1:添加数据和所需的输出样本

A
326    0.005077
dtype: float64

date
4300   2011-01-18 16:00:00
Name: datetime, dtype: datetime64[ns]

B
5    0.004077
dtype: float64

我希望有类似的东西:

Index                    A            B
2011-01-18 16:00:00    0.005077     0.004077

我想要这个的原因:程序运行一个循环并返回上述1xN行的多个,如果日期不同,我想要相互追加,或者如果日期(索引)相同则将值相加(可以按照此处所示完成:Loop: Results to be updated via += if on the same date, otherwise write next line

edit2:道歉我的代码中有一些例外,我必须设置某些系列对象= 0.有没有办法在下面的单行中包含它或者我是否需要从我的零中制作pd.series?

1 个答案:

答案 0 :(得分:2)

我认为需要:

A = pd.Series([0.005077], index=[326])
date = pd.Series(['2011-01-18 16:00:00'], index=[4300])
B = pd.Series([ 0.004077], index=[5])

df = pd.DataFrame([np.concatenate([A, B])], columns=['A','B'], index=date)
print (df)
                            A         B
2011-01-18 16:00:00  0.005077  0.004077

编辑:

标量的

是必要的,创建一个项目列表:

A = pd.Series([0.005077], index=[326])
date = pd.Series(['2011-01-18 16:00:00'], index=[4300])
B = pd.Series([ 0.004077], index=[5])
C = 0

df = pd.DataFrame([np.concatenate([A, B, [C] ])], columns=['A','B','C'], index=date)
print (df)
                            A         B    C
2011-01-18 16:00:00  0.005077  0.004077  0.0