python - 如何将数据框旋转为方形数据框,并将其他列中的交叉点数作为值
问题描述
如何将数据框旋转为方形数据框,其中值列中的交叉点数量作为值
我的输入数据框是
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
输出数据框中的值应该是值列中值的交集数。
解决方案
使用交叉连接crosstab
:
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
然后删除索引和列名rename_axis
:
#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)
推荐阅读
- javascript - 如何从 typescript 中的 webpack 配置获取对象(使用 esnext 语法)
- tensorflow - Tensorflow 2.0 Custom loss function with multiple inputs
- apache - 2 Apache / LAMP 在同一台机器上
- download - 无法下载foundation zurb的自定义包
- laravel - 直接在控制器中从 AWS S3 返回图像的最佳方法?
- git - VS2019 Preview 4:将 Blazor Server App 添加到 Visual Studio Team Foundation Server Source Control 将其添加到 Git
- android - Kotlin CoroutineScope 无法在 android 视图中取消
- html - 如何调整 bootstrap-vue 表的高度并使其可使用固定标题滚动
- python - Pandas 数据框应用速度问题 - 还有其他方法吗?
- debugging - 是否有任何代码可以使用任何 UWP 操作本地存储