我正在尝试计算 Pandas 中的标签索引每列中的DataFrame
。基本上我有以下DataFrame
:
d = {'col1': ['label1', 'label2', 'label3'],
'col2': ['label2', 'label3', 'label1'],
'col3': ['label2', 'label1', 'label3'],
'col4': ['label3', 'label1', 'label2']}
df = pd.DataFrame(data = d)
其格式为:
col1 col2 col3 col4
0 label1 label2 label2 label3
1 label2 label3 label1 label1
2 label3 label1 label3 label2
这个想法是将所有列上每个标签的索引计数到一个数组(或数据帧)中,如下所示:
label1 label2 label3
0 1 2 1
1 2 1 1
2 1 1 2
这表明,例如,在原始 DataFrame
中,label1
在索引 0 处出现一次,在索引 1 处出现两次,在索引 2 处出现一次。
我在循环内执行此操作,因此首选有效的方法。有什么想法吗?
最佳答案
用途:
df = df.apply(pd.value_counts, axis=1)
print (df)
label1 label2 label3
0 1 2 1
1 2 1 1
2 1 1 2
关于python - 根据标签位置计算 Pandas DataFrame 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54365492/