我在Python上是个新手,我在做下面的工作时遇到了一些麻烦。
我有一个数据框,为了分析数据,我必须根据不同的变量进行分组。
Package Package category Moisture Length Height Packing weight
0 YYS X NON DRY 2000 200 200
1 XXS Y NON DRY 190 20 200
2 GGT Z DRY 350 32 680
3 YYS X DRY 1000 209 280
4 YYS X DRY 3500 209 280
5 GGT Z DRY 350 37 680
6 XXS Y NON DRY 345 29 600
7 GGT Z DRY 350 37 680
8 GGT Z DRY 350 37 680
9 YYS X DRY 2000 209 285
10 YYS X NON DRY 3400 200 200
11 YYS X DRY 2000 209 280
12 XXS Y NON DRY 190 23 200
13 XXS Y NON DRY 190 23 200
14 GGT Z NON DRY 190 23 200
15 XXS Y NON DRY 190 23 200
16 GGT Z NON DRY 190 23 200
17 XXS Y NON DRY 336 20 600
18 XXS Y NON DRY 190 23 200
data1.loc[(data1['Package category'] == 'X') & (data1['Package'] == 'YYS') & (data1['Moisture'] == 'DRY')
& (data1['Length'] == 2000) & (data1['Height'] == 209.0),:]
data1.loc[(data1['Package category'] == 'X') & (data1['Package'] == 'YYS') & (data1['Moisture'] == 'DRY')
& (data1['Length'] == 2000) & (data1['Height'] == 209.0),:].replace({280.0:285})
问题是,我想让这个替换显示在我的原始数据框 "data1 "中。但是,如果我使用上面的代码,它只是显示我,因为它已经做了替换,但通过原来的数据框data1,变化并没有做。
我必须对不同的组进行分析,最后,我想让这些变化有效地显示在我的一个原始数据框 "data1 "上,有什么方法可以做到这一点吗?
编辑:看完这个。Pandas怎么能在 "loc "之后用 "replace "呢?
我建议如下编辑:让我们调用整个过滤 con
(只是为了更清楚地说明,你应该改变它的整个过滤条件)。
data1.loc[con, :] = data1.loc[con,:].replace({280.0:285})
replace
返回一个新的数据帧