我有一个数据框 df_F1
df_F1.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2 entries, 0 to 1
Data columns (total 7 columns):
class_energy 2 non-null object
ACT_TIME_AERATEUR_1_F1 2 non-null float64
ACT_TIME_AERATEUR_1_F3 2 non-null float64
dtypes: float64(6), object(1)
memory usage: 128.0+ bytes
df_F1.head()
class_energy ACT_TIME_AERATEUR_1_F1 ACT_TIME_AERATEUR_1_F3
low 5.875550 431
medium 856.666667 856
我尝试创建一个数据帧比率,其中包含每个 class_energy 的每个 ACT_TIME_AERATEUR_1_Fx 的能量值除以每个 ACT_TIME_AERATEUR_1_Fx 的所有 class_energy 的能量总和。例如:
ACT_TIME_AERATEUR_1_F1 ACT_TIME_AERATEUR_1_F3 low 5.875550/(5.875550 + 856.666667) 431/(431+856) medium 856.666667/(5.875550+856.666667) 856/(431+856)
你能帮我解决这个问题吗?
你可以这样做:
In [20]: df.set_index('class_energy').apply(lambda x: x/x.sum()).reset_index()
Out[20]:
class_energy ACT_TIME_AERATEUR_1_F1 ACT_TIME_AERATEUR_1_F3
0 low 0.006812 0.334887
1 medium 0.993188 0.665113