gpt4 book ai didi

python - 使用列表/字典中的值在数据框中创建新行

转载 作者:行者123 更新时间:2023-12-01 01:51:25 25 4
gpt4 key购买 nike

我正在使用多个数据框,我将组合整数值来推导出最终分数。有点像“最终成绩”计算,可能是“测试”权重和“HW”权重,以给出图片。

无论如何,我想使用索引值列表,并迭代每个数据帧以查看它们是否存在于每个数据帧中。如果数据框在此数据框中没有索引或字符的“条目”,我想为数据框中的字符添加一行,然后为每个月条目分配一个常量值。我正在查看的数据框按列显示月份,按字符显示行。

我考虑过使用列表或字典。这是我想要使用的列表,只是为了向您展示每个字符:

my_list = 
['Sonic','Knuckles','Shadow','Tails','Amy']

这是我想要将其添加到的数据帧之一的示例。

penalties_df = 
Jan 18 Feb 18 Mar 18 Apr 18
Character
Sonic 1.0 2.0 3.0 1.0
Knuckles 2.0 2.0 2.0 2.0
Amy 1.0 2.0 1.0 1.0

我没有收到来自 ShadowTails 的任何信息,这就是为什么他们没有一行。

Shadow                 xxx     xxx     xxx    xxx
Tails xxx xxx xxx xxx

我想要的输出:

penalties_df = 
Jan 18 Feb 18 Mar 18 Apr 18
Character
Sonic 1.0 2.0 3.0 1.0
Knuckles 2.0 2.0 2.0 2.0
Shadow 0.0 0.0 0.0 0.0
Tails 0.0 0.0 0.0 0.0
Amy 1.0 2.0 1.0 1.0

xxx”只是占位符,用于指示我尚未从该角色收到任何数据(ShadowTails) 。我定期运行代码,有时,当我运行代码直到收到字符的数据时,我想通过检查数据帧中是否存在该字符来创建一行并分配值 0。

我考虑过.append(),但我没有现有的数据框可附加到penalties_df。我只想创建新行。

我可以创建一个字典来访问这种情况吗?我认为我的字典会是这样的,但是,输入一堆重复的 0 是多余的(我只有在这里使用的一部分来保持我的问题简短):

penalties_none = {
"Sonic" : 0,
"Knuckles" : 0,
"Shadow" : 0,
"Tails" : 0,
"Amy" : 0,
}

提前致谢。

最佳答案

您需要获取 df.indexmy_list 之间的名称差异。然后您需要创建一个具有这些差异的 df 并附加到您的主 df 中。

df.append(pd.DataFrame(index=list(set(my_list) - set(df.index)))).fillna(0)

输出:

res = df.append(pd.DataFrame(index=list(set(my_list) - set(df.index)))).fillna(0)
res.index.name='Character'

输出:

             Apr_18  Feb_18  Jan_18  Mar_18
Character
Sonic 1.0 2.0 1.0 3.0
Knuckles 2.0 2.0 2.0 2.0
Amy 1.0 2.0 1.0 1.0
Tails 0.0 0.0 0.0 0.0
Shadow 0.0 0.0 0.0 0.0

关于python - 使用列表/字典中的值在数据框中创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com