Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 跨两个不同的数据帧计算数据_Python_Python 3.x_Pandas_Ipython - Fatal编程技术网

Python 跨两个不同的数据帧计算数据

Python 跨两个不同的数据帧计算数据,python,python-3.x,pandas,ipython,Python,Python 3.x,Pandas,Ipython,我需要解决这个案例研究: 我有两个不同的数据框,我想在DF1中填写“到达”列(医院数据),根据DF1中的日期时间计算DF2中到达的所有pat(excel中是一个计数if函数)。例如,在DF1中,我将datetime=2013-01-01,我将统计DF2中到达的所有患者(到达列)=2,并将结果存储在“到达”(DF1)中 您可以首先在DF2上执行groupby,计算其中一列,然后将结果数据帧与DF1合并,如下所示: df2_gr = df2.groupby('Arrival')['category'

我需要解决这个案例研究:

我有两个不同的数据框,我想在DF1中填写“到达”列(医院数据),根据DF1中的日期时间计算DF2中到达的所有pat(excel中是一个计数if函数)。例如,在DF1中,我将datetime=2013-01-01,我将统计DF2中到达的所有患者(到达列)=2,并将结果存储在“到达”(DF1)中


您可以首先在DF2上执行groupby,计算其中一列,然后将结果数据帧与DF1合并,如下所示:

df2_gr = df2.groupby('Arrival')['category'].count().reset_index()

df3 = df1.merge(df2_gr, left_on='datetime', right_on='Arrival', how='left').fillna(0)

您可以首先在DF2上执行groupby,计算其中一列,然后将结果数据帧与DF1合并,如下所示:

df2_gr = df2.groupby('Arrival')['category'].count().reset_index()

df3 = df1.merge(df2_gr, left_on='datetime', right_on='Arrival', how='left').fillna(0)

我想你在找groupby。这样的办法应该行得通。你需要从伯爵那里照顾南斯

import pandas as pd

d1 = pd.DataFrame([['A', 'B', 'C', 'D', 'E', 'F'], ['blah', 'blah', 'blah', 'blah', 'blah', 'blah']]).T
d2 = pd.DataFrame([['A', 'A', 'C', 'D', 'A', 'D'], ['blah', 'blah', 'blah', 'blah', 'blah', 'blah']]).T

unique_counts = d2.groupby(0).count()

pd.merge(d1, unique_counts, left_on=0, right_index=True, how='outer')

我想你在找groupby。这样的办法应该行得通。你需要从伯爵那里照顾南斯

import pandas as pd

d1 = pd.DataFrame([['A', 'B', 'C', 'D', 'E', 'F'], ['blah', 'blah', 'blah', 'blah', 'blah', 'blah']]).T
d2 = pd.DataFrame([['A', 'A', 'C', 'D', 'A', 'D'], ['blah', 'blah', 'blah', 'blah', 'blah', 'blah']]).T

unique_counts = d2.groupby(0).count()

pd.merge(d1, unique_counts, left_on=0, right_index=True, how='outer')

我已经尝试应用你们的答案,但并没有得到好的结果,正如你们在下面看到的:我只是有相同的值1970-01-01,而不是有一个具有相同值的列存储在datetime列中。Arrival列为空,而不具有所需的到达计数(来自df1)


我已经尝试应用你们的答案,但并没有得到好的结果,正如你们在下面看到的:我只是有相同的值1970-01-01,而不是有一个具有相同值的列存储在datetime列中。Arrival列为空,而不具有所需的到达计数(来自df1)


我已经按照你说的做了尝试,但是没有得到好的结果(我在下面发布了结果)我按照你说的做了尝试,但是没有得到好的结果(我在下面发布了结果)