我想加入两个数据框列,但没有得到想要的输出

时间:2018-10-01 04:11:18

标签: python pandas dataframe

我有两个数据框,一个是x,另一个是总计,其中有一个弹出列,但日期时间为索引

数据框的

数据具有以下类型:

总计[pop]个数据帧数据:

DateTime

2016-08-20 12:00:00      NaN

2016-08-21 00:00:00      NaN

2016-08-21 12:00:00      NaN

2016-08-22 00:00:00      NaN

2016-08-22 12:00:00      NaN

x数据框            x

0      1

1      2

2      3

3      4

4      5

我写了这个查询:

data_Window=pd.concat([x.x,Total.pop[index_start:index_end].reset_index(drop=True)],axis=1,ignore_index=True)

其中索引开头​​和索引结尾具有一些整数值,以使用x连接某些范围的数据。

我得到的输出:

       0   1

0      1 NaN

1      2 NaN

2      3 NaN

3      4 NaN

4      5 NaN

5      6 NaN

6      7 NaN

7      8 NaN

即使对于某些存在某些值的弹出列,它也显示nan(我刚刚发布了一些行,例如,两个数据框都有100多个行)

我想要的输出:

index  x  pop

0      1   2.09

1      2    1.30

2      3    2.10

2 个答案:

答案 0 :(得分:0)

您似乎正在尝试将x总计相加而根本不对齐索引。如果是这样,您可以直接将值分配给新列:

In [18]: df['pop'] = x.x.values

In [19]: df
Out[19]:
                     pop
DateTime
2016-08-20 12:00:00    1
2016-08-21 00:00:00    2
2016-08-21 12:00:00    3
2016-08-22 00:00:00    4
2016-08-22 12:00:00    5

答案 1 :(得分:0)

如果我理解正确的问题。这应该有帮助。

df = pd.DataFrame({'Year': ['2014', '2015'], 'quarter': ['q1', 'q2']})

enter image description here

df1 = pd.DataFrame({'month': ['2', '5'], 'quarter': ['q1', 'q2']})

enter image description here

new_data= pd.concat([df['Year'],df1['month']],axis=1)

enter image description here

也许这可以解决您的问题。