初学者熊猫问题在这里:
如何为所有列创建交叉频率计数表?我想使用输出来制作一个 Seaborn 热图,显示每对列之间的计数。
我有一个数据框(使用 pyspark 从 hdfs 中提取),其中包含约 70 个独特的列和大约 600K 行
所需输出示例:
C1 C2 C3 C4 ...C70
C1 - 1 1 2
C2 1 - 0 2
C3 1 0 - 1
C4 2 2 1 -
...
C70
样本 DF:
import numpy as np
import pandas as pd
raw_data = {'C1': [ 0, 2, 5, 0, 3], #...600K
'C2': [3, 0 , 2, 0, 0],
'C3': [0, 0, 0, 3, 3],
'C4': [2, 1, 1, 4, 0]}
df = pd.DataFrame(raw_data, columns = ['C1', 'C2', 'C3','C4'])
print(df)
我尝试过使用 pandas 中的 crosstab、pivot、pivot_table 并认为解决方案是使用 crosstab,但我无法以所需的输出格式获得它(很抱歉,如果我遗漏了一些明显的东西)。任何帮助表示赞赏!