我想从下面的列中计算唯一值的数量。 Numpy会找到与这两列匹配的值:123和454,因此count的值等于2。但是现在,我如何计算剩余的值:787、325和661?输出应为3。
import pandas as pd
import numpy as np
df = pd.DataFrame({'ID': ["123","454", "787"]})
df2 = pd.DataFrame({'IA': ["325", "123", "454", "661"]})
count = np.in1d(df['ID'], df2['IA']).sum()
答案 0 :(得分:0)
要从系列(例如 DataFrame 列)中获取唯一元素,请执行以下操作:
204 - no content
要计算这些值,请添加df.ID.unique()
:
size
df.ID.unique().size
是属性(不是函数),因此没有括号。
如果您想在两者列中计算唯一元素,请将它们结合在一起 合并为一个 Series ,(调用 append ),然后调用 .unique()。size :
size