2024-06-17 12:12:48 发布
网友
如何将一个数据帧转换成一个正方形的数据帧,其中值列中的交叉数作为值
我的输入数据帧是
field value a 1 a 2 b 3 b 1 c 2 c 5
输出应为
a b c a 2 1 1 b 1 2 0 c 1 0 2
输出数据框中的值应该是值列中值的交集数
对^{}使用交叉联接:
df = df.merge(df, on='value') df = pd.crosstab(df['field_x'], df['field_y']) print (df) field_y a b c field_x a 2 1 1 b 1 2 0 c 1 0 2
然后按^{}删除索引和列名:
#pandas 0.24+ df = pd.crosstab(df['field_x'], df['field_y']).rename_axis(index=None, columns=None) print (df) a b c a 2 1 1 b 1 2 0 c 1 0 2 #pandas bellow df = pd.crosstab(df['field_x'], df['field_y']).rename_axis(None).rename_axis(None, axis=1)
对^{} 使用交叉联接:
然后按^{} 删除索引和列名:
相关问题 更多 >
编程相关推荐