Python 计算熊猫中常见元素的出现次数
我有以下数据:Python 计算熊猫中常见元素的出现次数,python,pandas,Python,Pandas,我有以下数据: data_SP = pd.read_csv(path_ServicePath, sep='\t', header=None) data_SP.columns = ["Id#SP"] print(data_SP) IdSP 0 SH11 1 SH11 2 SH12 3 SH12 4 SH13 5 SH13 6 SH13 7 SH13 ... ... 而且 data_SH = pd.read_csv(path_Servi
data_SP = pd.read_csv(path_ServicePath, sep='\t', header=None)
data_SP.columns = ["Id#SP"]
print(data_SP)
IdSP
0 SH11
1 SH11
2 SH12
3 SH12
4 SH13
5 SH13
6 SH13
7 SH13
... ...
而且
data_SH = pd.read_csv(path_ServiceHierarchy,sep='\t',header=None)
data_SH.columns = ["Id#SH", "ConnectionClient"]
print(data_SH)
IdSH ConnectionClient
0 SH11 CN01207507
1 SH12 CN01207509
2 SH13 CN01207539
3 SH14 CN01207542
4 SH15 CN01207564
... ...
事实上,我想计算data\u SH
元素在data\u SP
中的出现次数。换句话说,data\u SH.['Id\SH']
中的每个元素在data\u SP
例如:
SH11 = 2
SH12 = 2
SH13 = 4
让我们使用
Series.where
+Series.isin
来过滤IdSP
中也存在于IDSH
中的值,然后使用value\u counts
来计算出现的次数:
data_SP['IdSP'].where(lambda x: x.isin(data_SH['IdSH'])).value_counts()
或者,您也可以执行值\u计数
+重新索引
:
data_SP['IdSP'].value_counts().reindex(data_SH['IdSH']).dropna()
对列中的值进行计数的最佳方法如下:
data_SH.value_counts()
另请参阅这给出了计数,但没有给出数据sh中存在和数据SP中不存在的元素的计数
data_SP = pd.read_csv(path_ServicePath, sep='\t', header=None)
data_SP.columns = ["Id#SP"]
data_SP["count"] = [1]*len(df)
data_SP=data_SP.groupby("Id#SP").count()
data_SP = pd.read_csv(path_ServicePath, sep='\t', header=None)
data_SP.columns = ["Id#SP"]
data_SP["count"] = [1]*len(df)
data_SP=data_SP.groupby("Id#SP").count()