python - 将多列而不是现有的一列插入到熊猫数据框中
问题描述
我有一个问题 - 如何在现有列的位置向 DataFrame 插入多个(例如 3 个)列?换句话说,我有一列包含一些分类值,我用 one-hot 编码对其进行编码 - 结果,我获得了 3 个新列。现在,我想删除原始列并将结果列插入其位置(而不是数据框的末尾)。关于如何有效地做到这一点的任何想法?我会很感激任何帮助。
**df1 - Original datafarme** :
col1 col2 col3
0 4 A 0.5
1 5 B 0.78
2 6 C 0.55
3 7 A 0.78
**df2 - created one-hot encoding of categorical col2** :
col2_A col2_B col2_C
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
如何将 df2 的列插入 df1,而不是 col2 以获得:
**Updated df1**
col1 col2_A col2_b col2_C col3
0 4 1 0 0 0.5
1 5 0 1 0 0.78
2 6 0 0 1 0.55
3 7 1 0 0 0.78
解决方案
采用
df_concat = pd.concat([df1, df2], axis=1)
然后放弃 col_2 使用
df_concat.drop(['col_2'], axis = 1)
推荐阅读
- google-chrome - 将 SVG 转换为 PNG base 64 时保留大小
- elasticsearch - 使用 filebeat 多行时重复的消息内容
- c++ - 在函数外泄漏本地类
- python-3.x - 如何在 Pyspark 的动态列列表中转义列名
- c# - 如何在 acumatica 中创建带有“2 个选项卡”的选择器
- reactjs - React-admin 给出错误“错误:React.Children.only 预计会收到单个 React 元素子项。”
- c# - 如何在 C# 中添加 2 个非常大(超过 50 位)的二进制字符串值
- apache-spark - 使用 PYSPARK_SUBMIT_ARGS 添加额外的 jar
- laravel - 创建具有多态关系的连接
- java - 使用 Java 更新不同标签内的 XML 文件