Python 使用dataframe中的行值查询第二个dataframe中的列
我希望传递Python 使用dataframe中的行值查询第二个dataframe中的列,python,pandas,dataframe,Python,Pandas,Dataframe,我希望传递df['A']中的值,以确定df2中具有df1中的行值的列标题的空值计数和唯一值计数 df A B C AA 1 2 AB 1 3 AC 1 2 df2 AA AB AC X Null F Null R F Null R Y 代码的输出应如下所示: df1 A B C NullCount UniqueCount AA 1 2 2 1 AB 1
df['A']
中的值,以确定df2
中具有df1
中的行值的列标题的空值计数和唯一值计数
df
A B C
AA 1 2
AB 1 3
AC 1 2
df2
AA AB AC
X Null F
Null R F
Null R Y
代码的输出应如下所示:
df1
A B C NullCount UniqueCount
AA 1 2 2 1
AB 1 3 1 1
AC 1 2 0 2
我考虑过定义一个函数,然后将其应用于
df1
,但我不确定这是否是最好的方法。我是python新手,非常感谢您的帮助。从v0.20
开始,您可以使用agg
+merge
:
df
A B C
0 AA 1 2
1 AB 1 3
2 AC 1 2
df2
AA AB AC
0 X NaN F
1 NaN R F
2 NaN R Y
或者,您可以使用lambda将计数
计算组合为一个步骤:
df3 = df2.agg([lambda x: x.size - x.count(), 'nunique']).T
df3.columns = ['NullCount', 'UniqueCount']
A B C NullCount UniqueCount
0 AA 1 2 2 1
1 AB 1 3 1 1
2 AC 1 2 0 2
请注意,您可能需要将字符串“Null”转换为nan
。您可以通过replace
调用:
df2 = df2.replace("Null", np.nan)
从
v0.20
开始,您可以使用agg
+merge
:
df
A B C
0 AA 1 2
1 AB 1 3
2 AC 1 2
df2
AA AB AC
0 X NaN F
1 NaN R F
2 NaN R Y
或者,您可以使用lambda将计数
计算组合为一个步骤:
df3 = df2.agg([lambda x: x.size - x.count(), 'nunique']).T
df3.columns = ['NullCount', 'UniqueCount']
A B C NullCount UniqueCount
0 AA 1 2 2 1
1 AB 1 3 1 1
2 AC 1 2 0 2
请注意,您可能需要将字符串“Null”转换为nan
。您可以通过replace
调用:
df2 = df2.replace("Null", np.nan)
节日快乐,我的朋友:-)非常感谢你的帮助!假期快乐,我的朋友:-)非常感谢你的帮助!这太棒了。