gpt4 book ai didi

python - 如何提取pandas DataFrame中的属性名称和最大共现计数?

转载 作者:行者123 更新时间:2023-12-01 07:00:53 26 4
gpt4 key购买 nike

给定格式为 df 的数据帧

    A   B   C   D   E   F   G   H   I   J ...
0 0 1 0 0 0 1 0 0 0 0 ...
1 1 1 0 0 1 1 0 0 0 0 ...
2 0 0 1 0 0 0 0 0 0 0 ...
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

我希望最终得到以下格式的结果数据框

   corr  count
A B 270
B F 15
C J 100
. . .
. . .
. . .

其中对于每一行,corr 是具有最大共现的列,count 是共现计数。

我当前的代码如下所示:

cooccurring_df = df.T.dot(df)
np.fill_diagonal(cooccurring_df.values, 0)
idxmax_df = pd.DataFrame(cooccurring_df.idxmax(axis = 0), columns=['corr'])

给出:

   corr 
A B
B F
C J
. .
. .
. .

但是我一生都无法弄清楚如何将计数从 cooccurring_df 正确分配到 idxmax_df 中。我确信我错过了一些明显的东西,并且我确信有更好的方法到达我想去的地方。

最佳答案

IIUC,您正在寻找的是查找:

idxmax_df['count'] = cooccurring_df.lookup(idxmax_df.index, idxmax_df['corr'])

测试数据:

    A   B   C   D   E   F   G   H   I   J
0 0 1 0 0 0 1 0 0 0 0
1 1 1 0 0 1 1 0 0 0 0
2 0 0 1 0 0 0 0 0 0 1

输出(对于给定数据)

  corr  count
A B 1
B F 2
C J 1
D A 0
E A 1
F B 2
G A 0
H A 0
I A 0
J C 1

关于python - 如何提取pandas DataFrame中的属性名称和最大共现计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58635229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com