我正在尝试计算给定的两个字符串组合出现的次数,无论哪个字符串在前面或后面。
以下是我的代码:
以下是我的代码:
import pandas as pd
mylist = [[('Smith JR', 'Kim YY'), ('Smith JR', 'Ron AA'), ('Kim YY', 'Ron AA')],
[('Kim YY', 'Smith JR')], [('Smith JR', 'Ron AA')]]
flat_list = [item for sublist in mylist for item in sublist]
df = pd.DataFrame(flat_list, columns=["From", "To"])
df_graph = df.groupby(["From", "To"]).size().reset_index()
df_graph.columns = ["From", "To", "Count"]
print(df_graph)
这将会给出:
From To Count
0 Kim YY Ron AA 1
1 Kim YY Smith JR 1
2 Smith JR Kim YY 1
3 Smith JR Ron AA 2
但是因为Kim YY Smith JR和Smith JR Kim YY之间形成了相同的两个人之间的联系,所以我希望它能够给出:
From To Count
0 Kim YY Ron AA 1
1 Kim YY Smith JR 2
2 Smith JR Ron AA 2
我看到很多解决方案可以去重,但无法像我想要的那样合并每行的计数。我似乎无法弄清楚如何合并。
1 Kim YY Smith JR 1
2 Smith JR Kim YY 1
筛选出只有 Kim YY - Smith JR 这一行,且 Count 为 2。另外,在我的实际数据中,对于某些行来说,Count 可能大于1。