Python 跨两个不同的数据帧计算数据
我需要解决这个案例研究: 我有两个不同的数据框,我想在DF1中填写“到达”列(医院数据),根据DF1中的日期时间计算DF2中到达的所有pat(excel中是一个计数if函数)。例如,在DF1中,我将datetime=2013-01-01,我将统计DF2中到达的所有患者(到达列)=2,并将结果存储在“到达”(DF1)中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'
您可以首先在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)
我已经按照你说的做了尝试,但是没有得到好的结果(我在下面发布了结果)我按照你说的做了尝试,但是没有得到好的结果(我在下面发布了结果)