python - 熊猫数据框:划分和替换
问题描述
背景
我正在使用 JupyterLab 和 Anaconda。
我有 2 个类似的数据框。我想将一个数据帧的(部分/子集)除以(部分/子集),然后更新原始数据帧。以下是我编写的代码:
编写的代码
def f_test_df(n_rows, n_cols):
df_local = pd.DataFrame(np.random.rand(n_rows, n_cols))
df = df_local.applymap(lambda x: round(x*10))
return df
np.random.seed(seed=1)
df1 = f_test_df(4, 4)
df1.rename(columns={0:'test'}, inplace=True)
df2 = f_test_df(4, 4)
df2.rename(columns={0:'test'}, inplace=True)
df_div = df1.iloc[:, 1:].div(df2.iloc[:, 1:])
minimum_value = 2
display(df1)
display(df2)
display(df_div)
df1.iloc[:, 1:].replace(df_div, inplace=True)
df1
期望的结果
我希望 df1 由获得的部门(df_div)更新。从输出中可以看出,df1 没有得到更新。我应该如何纠正分割过程?
解决方案
我认为最简单的是指派回来:
df1.iloc[:, 1:] = df1.iloc[:, 1:].div(df2.iloc[:, 1:])
print(df1)
test 1 2 3
0 4 1.166667 0.000000 1.500000
1 1 0.100000 0.666667 0.428571
2 4 0.555556 4.000000 inf
3 2 1.000000 0.000000 1.750000
推荐阅读
- matlab - Matlab中匿名函数定义中的匿名函数调用
- javascript - 如何通过电子邮件发送 PDF,其内容以表格形式显示?
- c++ - 在循环的下一次迭代中重置布尔值
- wordpress - Gulp 的浏览器与 MAMP 同步,未加载图像
- npm - GYP 问题安装 yo hyperledger
- javascript - 如何将数组作为对象数组返回?
- ios - 由于缺少 NSPhotoLibraryAddUsageDescription 而报告应用程序崩溃,但我的应用程序从不使用任何照片
- javascript - 在 Promise.all() 之外无法访问数据
- javascript - 获取音频文件并将其加载到表单附件中
- php - 将html登录表单动态更改为注册表单