扩展/切片子集数据框以匹配原始数据框列

GRS

问题:

我在一个特征比测试数据多的数据集上训练了一个分类器。例如,我的原始数据集一周中有 7 天:周一至周日,而在测试数据集中,每个观察都恰好在周四(因此我少了 6 个特征)。因此,当我运行 时predict(),我收到一个错误,即功能数量不匹配。这些缺失的功能不是使用创建的功能get_dummies()

Day_of_the_week_is_monday, Day_of_the_week_is_tuesday, ... 

理想情况下,我想执行数据清理并执行以下操作:

  • 自动创建缺失的列,用 0 填充。(由于 is_Thursday 将全为 1,其余的应为 0)
  • 删除子集数据框中的任何“额外”列,这些列不存在于原始训练数据中。例如, get_dummies() 可能会在子集数据框中创建更多级别,我想删除这些级别。

可重现的例子


dataframe = pd.DataFrame({
                          'Result' : np.array([1,2,2,10,100],dtype='int32'),
                          'Day_of_the_week' : pd.Categorical(["Monday","Tuesday","Wednesday","Thursday","Friday"]),})

dataframe_dummies = pd.get_dummies(dataframe, prefix=['Day_of_the_week_is'])

### get subset dataframe

dataframe_subset = pd.DataFrame({
                          'Result' : np.array([1,2,2,10],dtype='int32'),
                          'Day_of_the_week' : pd.Categorical(["Thursday","Thursday","Thursday","Saturday"]),})

dataframe_subset_dummies = pd.get_dummies(dataframe_subset, prefix=['Day_of_the_week_is'])

主要数据集如下所示:

   Result  Is_Friday  Is_Monday  Is_Thursday  Is_Tuesday  Is_Wednesday
0       1          0          1            0           0             0
1       2          0          0            0           1             0
2       2          0          0            0           0             1
3      10          0          0            1           0             0
4     100          1          0            0           0             0

子集数据框

   Result  Day_is_Saturday  Day_is_Thursday
0       1                0                1
1       2                0                1
2       2                0                1
3      10                1                0

必须做的事情:

1)删除is_Saturday,因为它不在原始数据中。

2) 添加剩余的填充为 0 的列。

我可以手动做,但是做起来好像很麻烦。有没有可以为我做到这一点的功能?例如,扩展子集数据框以匹配主数据集,或删除列以匹配主数据?

斯纳德

一个简单的循环和检查应该可以添加缺失的列和删除缺失的列:

In [16]: a = pd.DataFrame([[1,2,3],[2,3,4]], columns=['A', 'B', 'E'])

In [17]: b = pd.DataFrame([[3,4,5],[4,5,6]], columns=['A', 'B', 'C'])

In [18]: for col in b.columns:
    ...:     if col not in a:
    ...:         a[col] = 0
    ...:

In [19]: for col in a.columns:
    ...:     if col not in b:
    ...:         del a[col]
    ...:

In [20]: a
Out[20]:
   A  B  C
0  1  2  0
1  2  3  0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将子集数据框中的列添加到R中的原始数据框中?

来自分类Dev

Julia:子集数据框

来自分类Dev

从与关键字匹配的数据框列中子集数据

来自分类Dev

基于部分字符串匹配的子集数据框

来自分类Dev

转换数据框列并保留原始数据

来自分类Dev

根据其他数据框的匹配列返回Pandas数据框的子集/切片,是否适用于该列中的每个元素?

来自分类Dev

根据其他数据框的匹配列返回Pandas数据框的子集/切片,是否适用于该列中的每个元素?

来自分类Dev

子集数据框时选择了未定义的列

来自分类Dev

按条件子集数据框中的索引提取列

来自分类Dev

如何在子集(切片)计算后更新原始数据帧?

来自分类Dev

子集数据框:从原始df中获取先前值,但不在子集中

来自分类Dev

熊猫-将选定的列分配回原始数据框

来自分类Dev

基于字段的子集数据框

来自分类Dev

子集数据框导致错误输出

来自分类Dev

基于列表对象的子集数据框

来自分类Dev

基于缩放交互的子集数据框

来自分类Dev

重塑数据框切片列

来自分类Dev

熊猫:写入原始数据框。SettingWithCopyWarning

来自分类Dev

切片数据框

来自分类Dev

如何解析pandas数据框中的JSON列,并将新数据框连接到原始数据框中?

来自分类Dev

将原始数据转换为熊猫数据框?

来自分类Dev

从原始数据库为列中的值创建新数据框(需要更改每个新数据框的名称)

来自分类Dev

基于行或列匹配的多个数据框的子集列表

来自分类Dev

在R中子集数据框-意外结果

来自分类Dev

子集数据框以在R中绘制iGraph

来自分类Dev

带有用户输入的子集数据框闪亮

来自分类Dev

使用日期/时间因子变量的子集数据框

来自分类Dev

用于均匀拆分列值的子集数据框

来自分类Dev

使用 POSIXct 向量 R 的子集数据框

Related 相关文章

  1. 1

    如何将子集数据框中的列添加到R中的原始数据框中?

  2. 2

    Julia:子集数据框

  3. 3

    从与关键字匹配的数据框列中子集数据

  4. 4

    基于部分字符串匹配的子集数据框

  5. 5

    转换数据框列并保留原始数据

  6. 6

    根据其他数据框的匹配列返回Pandas数据框的子集/切片,是否适用于该列中的每个元素?

  7. 7

    根据其他数据框的匹配列返回Pandas数据框的子集/切片,是否适用于该列中的每个元素?

  8. 8

    子集数据框时选择了未定义的列

  9. 9

    按条件子集数据框中的索引提取列

  10. 10

    如何在子集(切片)计算后更新原始数据帧?

  11. 11

    子集数据框:从原始df中获取先前值,但不在子集中

  12. 12

    熊猫-将选定的列分配回原始数据框

  13. 13

    基于字段的子集数据框

  14. 14

    子集数据框导致错误输出

  15. 15

    基于列表对象的子集数据框

  16. 16

    基于缩放交互的子集数据框

  17. 17

    重塑数据框切片列

  18. 18

    熊猫:写入原始数据框。SettingWithCopyWarning

  19. 19

    切片数据框

  20. 20

    如何解析pandas数据框中的JSON列,并将新数据框连接到原始数据框中?

  21. 21

    将原始数据转换为熊猫数据框?

  22. 22

    从原始数据库为列中的值创建新数据框(需要更改每个新数据框的名称)

  23. 23

    基于行或列匹配的多个数据框的子集列表

  24. 24

    在R中子集数据框-意外结果

  25. 25

    子集数据框以在R中绘制iGraph

  26. 26

    带有用户输入的子集数据框闪亮

  27. 27

    使用日期/时间因子变量的子集数据框

  28. 28

    用于均匀拆分列值的子集数据框

  29. 29

    使用 POSIXct 向量 R 的子集数据框

热门标签

归档