填充空列

2024-10-03 13:17:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集中有三列(item_weight、pages和binding)。 我必须填充item_weight,如果binding=='hard',则有一些过滤器,并且页数为<;100,最后,我必须在item_weight(项目权重)列中将页数乘以5,否则binding==‘纸张’和页数>;比我要多出200页和6页

这是我使用的代码:

df_final4['item_weight'] = ''
df_final4.loc[(df_final4(['binding']) == 'hard') & (df_final4((['pages'] < 100))), 'item_weight'] = (5 * (('pages')))
df_final4.loc[(df_final4(['binding']) == 'paper') & (df_final4((['pages'] > 200))), 'item_weight'] = (6 * (('pages')))

TypeError: 'DataFrame' object is not callable

Tags: 数据项目lt过滤器dfpagesitemloc
2条回答

太多( )请尝试:

df_final4['item_weight'] = ''
m1 = (df_final4['binding'] == 'hard') & (df_final4['pages'] < 100)
m2 = (df_final4['binding'] == 'paper') & (df_final4['pages'] > 200)
df_final4.loc[m1, 'item_weight'] = 5 * df_final4.loc[m1, 'pages']
df_final4.loc[m2, 'item_weight'] = 6 * df_final4.loc[m2, 'pages']
>>> df_final4
  binding  pages item_weight
0    hard    271
1    soft    259
2    hard     93         465
3    soft    159
4    hard     26         130
5    hard    226
6    hard     70         350
7   paper    248        1488
8    soft     46
9    hard    145

第2行和第3行:替换

df_final4(['binding']) 

df_final4['binding']

如果使用括号而不是方括号,则调用数据帧就像调用['binding']参数上的函数一样

相关问题 更多 >