Python 使用表1和表2数据计算表3
我正在尝试解决ID问题,我能够解决表3中日期、VarX和VARIVE的值,但在下面要求的日期中,ID为1和2是一个问题 这个问题的目的是获得表3,其中包含所需的数据和ID。因此,表3中的输出应该包含ID、日期、VarX和VarYPython 使用表1和表2数据计算表3,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试解决ID问题,我能够解决表3中日期、VarX和VARIVE的值,但在下面要求的日期中,ID为1和2是一个问题 这个问题的目的是获得表3,其中包含所需的数据和ID。因此,表3中的输出应该包含ID、日期、VarX和VarY +---------------------------+ | TABLE 1: | +---------------------------+ | ID Date VarX VarY | | 1 30-03-201
+---------------------------+
| TABLE 1: |
+---------------------------+
| ID Date VarX VarY |
| 1 30-03-2019 35 65 |
| 2 30-03-2019 45 12 |
| 3 30-03-2019 15 45 |
+---------------------------+
+---------------------------+
| TABLE 2: |
+---------------------------+
| ID Date VarX VarY |
| 1 01-04-2019 25 45 |
| 1 05-04-2019 22 |
| 1 08-04-2019 29 |
| 2 03-04-2019 59 18 |
| 2 05-04-2019 48 |
| 2 09-04-2019 31 |
| 2 14-04-2019 26 |
+---------------------------+
+----------------------------+
| TABLE 3: |
+----------------------------+
| ID Date VarX VarY |
| 1 08-04-2019 29 22 |
| 2 14-04-2019 31 26
| 3 30-03-2019 15 45
+----------------------------+
如有必要,首先通过
df1['ID']
列进行过滤,并与以下内容一起使用:
如果缺少空值NaN
s use,它将返回最后一个未缺少的值:
df3 = df2.groupby('ID', as_index=False).last()
print (df3)
ID Date VarX VarY
0 1 08-04-2019 29.0 22.0
1 2 14-04-2019 31.0 26.0
其他:
编辑:在两个DataFrame
s:
df11 = df1.set_index('ID')
df22 = df2.groupby('ID').last()
df11.update(df22)
df3 = df11.reset_index()
print (df3)
ID Date VarX VarY
0 1 08-04-2019 29.0 45.0
1 2 14-04-2019 26.0 18.0
2 3 30-03-2019 15.0 45.0
如有必要,首先通过
df1['ID']
列进行过滤,并与以下内容一起使用:
如果缺少空值NaN
s use,它将返回最后一个未缺少的值:
df3 = df2.groupby('ID', as_index=False).last()
print (df3)
ID Date VarX VarY
0 1 08-04-2019 29.0 22.0
1 2 14-04-2019 31.0 26.0
其他:
编辑:在两个DataFrame
s:
df11 = df1.set_index('ID')
df22 = df2.groupby('ID').last()
df11.update(df22)
df3 = df11.reset_index()
print (df3)
ID Date VarX VarY
0 1 08-04-2019 29.0 45.0
1 2 14-04-2019 26.0 18.0
2 3 30-03-2019 15.0 45.0
感谢它的工作,如果TB1有一个ID DATE VarX VarY 3 30-03-2019 15 22的新列,我们将如何从表1和表2中获得表3中的最新数据?@dnxtgn-您能解释更多吗?上面的评论中有4个专栏,我已经更新了这个问题。我需要提取最新的ID,即1、2和3。ID 3在表1中,表2包含最新的值,因此表3将包含两个表中的最新ID值。感谢它的工作,如果TB1有一个ID DATE VarX VarY 3 30-03-2019 15 22的新列,我们将如何从表1和表2中获得表3中的最新数据?@dnxtgn-您能解释更多吗?上面的评论中有4个专栏,我已经更新了这个问题。我需要提取最新的ID,即1、2和3。ID 3在表1中,表2包含最新值,因此表3将包含两个表中的最新ID值。