根据文本将值从一个数据框平均分配到另一个数据框

哈利勒·胡特

我有两个如下数据框

import pandas as pd 
import numpy as np

random = np.random.RandomState(seed=123)

columns = ['Assessment Type', 'Weight %']

assessment = ['Mid-Term', 'Quiz', 'Final Exam', 'Assignment']

wight = [30, 20, 35, 15]

df1 = pd.DataFrame(np.column_stack([assessment, wight]),
                           columns=columns)

df1['Weight %'] = df1['Weight %'].apply(int)

df2 = pd.DataFrame(random.randint(0, 100, size=(4, 8)), columns=list('ABCDEFGH'))

df2.iloc[0, :] = ['', 'Mid-Term', 'Quiz', 'Mid-Term', 'Quiz', '', 'Final Exam', '']
df2.iloc[1, :] = ['' for i in range(df2.columns.size)]

df1 =

  Assessment Type  Weight %
0        Mid-Term        30
1            Quiz        20
2      Final Exam        35
3      Assignment        15

df2 =

    A         B     C         D     E   F           G   H
0      Mid-Term  Quiz  Mid-Term  Quiz      Final Exam
1
2  78        36    96        80    68  49          55  67
3   2        84    39        66    84  47          61  48

我想df1在相同的成绩评估类型之间平均分配成绩权重df2

上述情况的期望输出如下。

    A         B     C         D     E   F           G   H
0      Mid-Term  Quiz  Mid-Term  Quiz      Final Exam
1            15    10        15    10              35
2  78        36    96        80    68  49          55  67
3   2        84    39        66    84  47          61  48

有人可以帮助在熊猫中实现这一目标。

谢谢并恭祝安康

塔纳西斯·马塔斯(Thanasis Mattas)

尝试这个:

type_counts = df2.loc[0].value_counts().drop('').rename("type_counts")
distributor = df1.set_index("Assessment Type").join(type_counts)
distributor["alocated weight"] = distributor["Weight %"].div(distributor["type_counts"])
df2.loc[1] = df2.loc[0].map(distributor["alocated weight"]).fillna('')
print(df2)

结果:

    A         B     C         D     E   F           G   H
0      Mid-Term  Quiz  Mid-Term  Quiz      Final Exam    
1            15    10        15    10              35    
2  78        36    96        80    68  49          55  67
3   2        84    39        66    84  47          61  48

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从一个数据框中减去另一个数据

来自分类Dev

从一个数据框中替换另一个数据中的值

来自分类Dev

根据来自另一个数据框的值创建新的数据框

来自分类Dev

根据另一个数据框中的值对一个数据框进行子集

来自分类Dev

根据另一个数据集中的列值在一个数据框中创建列

来自分类Dev

创建一个函数以将值从一个数据框插入另一个数据框

来自分类Dev

R:通过匹配日期将值从一个数据框导入到另一个数据框

来自分类Dev

根据多列索引将值从一个数据框复制到另一个数据框

来自分类Dev

根据来自另一个的组值填充一个数据框

来自分类Dev

根据另一个数据框计算数据框中的列值

来自分类Dev

如何根据熊猫的条件将缺失的行从一个数据框添加到另一个数据框?

来自分类Dev

通过将列名与数据框中的变量匹配,将值从一个数据框中分配到另一个数据框中

来自分类Dev

根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

来自分类Dev

根据Pandas中的ID将列值从一个数据框复制到另一个数据框

来自分类Dev

根据条件为另一个数据框的数据框列设置值

来自分类Dev

根据另一个数据框中的值将列添加到数据框中

来自分类Dev

根据另一个数据框的值填充一个数据框的值

来自分类Dev

根据来自另一个数据框的值查找数据框值的平均值

来自分类Dev

熊猫-将值从一个数据框映射到另一个

来自分类Dev

根据来自另一个数据框的值将数据框拆分为多个数据框

来自分类Dev

使用另一个数据框将值分配给多列数据框

来自分类Dev

根据条件将值从一个数据框分配到另一个

来自分类Dev

将单词从一个数据帧匹配到另一个

来自分类Dev

根据主题编号将值从一个数据框分配给另一个数据框

来自分类Dev

根据另一个数据框的值删除一个数据框的行和列

来自分类Dev

根据另一个数据框的值对数据框条目进行分组

来自分类Dev

根据条件,将数据框的某些值替换为另一个数据框中的值

来自分类Dev

如何基于R中的另一个数据框将文本分配到列中

来自分类Dev

根据另一个数据框中的日期过滤数据框中的值

Related 相关文章

  1. 1

    从一个数据框中减去另一个数据

  2. 2

    从一个数据框中替换另一个数据中的值

  3. 3

    根据来自另一个数据框的值创建新的数据框

  4. 4

    根据另一个数据框中的值对一个数据框进行子集

  5. 5

    根据另一个数据集中的列值在一个数据框中创建列

  6. 6

    创建一个函数以将值从一个数据框插入另一个数据框

  7. 7

    R:通过匹配日期将值从一个数据框导入到另一个数据框

  8. 8

    根据多列索引将值从一个数据框复制到另一个数据框

  9. 9

    根据来自另一个的组值填充一个数据框

  10. 10

    根据另一个数据框计算数据框中的列值

  11. 11

    如何根据熊猫的条件将缺失的行从一个数据框添加到另一个数据框?

  12. 12

    通过将列名与数据框中的变量匹配,将值从一个数据框中分配到另一个数据框中

  13. 13

    根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

  14. 14

    根据Pandas中的ID将列值从一个数据框复制到另一个数据框

  15. 15

    根据条件为另一个数据框的数据框列设置值

  16. 16

    根据另一个数据框中的值将列添加到数据框中

  17. 17

    根据另一个数据框的值填充一个数据框的值

  18. 18

    根据来自另一个数据框的值查找数据框值的平均值

  19. 19

    熊猫-将值从一个数据框映射到另一个

  20. 20

    根据来自另一个数据框的值将数据框拆分为多个数据框

  21. 21

    使用另一个数据框将值分配给多列数据框

  22. 22

    根据条件将值从一个数据框分配到另一个

  23. 23

    将单词从一个数据帧匹配到另一个

  24. 24

    根据主题编号将值从一个数据框分配给另一个数据框

  25. 25

    根据另一个数据框的值删除一个数据框的行和列

  26. 26

    根据另一个数据框的值对数据框条目进行分组

  27. 27

    根据条件,将数据框的某些值替换为另一个数据框中的值

  28. 28

    如何基于R中的另一个数据框将文本分配到列中

  29. 29

    根据另一个数据框中的日期过滤数据框中的值

热门标签

归档