python - 我如何将这个 python 代码精确到几行?
问题描述
我想在我发现更新数据框的意思的地方精确说明这段代码。我如何找到模式并在几行中获取此代码。
import pandas as pd
import numpy as np
df = pd.read_csv('Dataset2.csv')
df = df.to_numpy()
for i in range (0,len(df)):
mean_1 = df[i,1:5].sum() / 4
mean_2 = (df[i,0:1].sum() + df[i,2:5].sum()) / 4
mean_3 = (df[i,0:2].sum() + df[i,3:5].sum()) / 4
mean_4 = (df[i,0:3].sum() + df[i,4:5].sum()) / 4
mean_5 = df[i,0:4].sum() / 4
df[i,0] = df[i,0] - mean_1
df[i,1] = df[i,1] - mean_2
df[i,2] = df[i,2] - mean_3
df[i,3] = df[i,3] - mean_4
df[i,4] = df[i,4] - mean_5
解决方案
我对你想要做的事情的解释是
给定一个数据框 df,创建一个新的数据框,其中第 i 行第 j 列中元素的值由第 i 行中所有值的平均值给出 - 除了第 j 列中的值
如果这是正确的,那么以下将更快。它假定数据框仅包含此计算所需的列。如果有额外的列,您将需要使用索引调整解决方案
means = (df.sum(axis=1).reshape((len(df),1)) - df)/4
means
将是一个 numpy 数组,因此如果您需要,请将其包装在 pandas Dataframe 中
推荐阅读
- tcpdf - PHP TCPDF - 多个 pdf 支持?
- python - 如何在pymc2中为多类分类制作一个简单的贝叶斯神经网络
- jhipster - Ag-grid 不会在 JHipster 应用程序中呈现(Angular 7 + Webpack 4)
- reactjs - 使用passport-google-oauth20在快速反应应用程序中谷歌登录后重定向问题
- sql - 插入后特定列中更新的 Sql 触发器
- regex - 可以单独提取组的每个出现,但不能作为重复组
- php - 显示用户在管理员的用户列表页面中进行的预订数量
- android - 从 Android WebView 更改 URL 的哈希值
- symfony - Symfony 3.4 - Autowire 不适用于绑定值?
- php - PHP - 使用 MVC 构建 Slim3 Web 应用程序并了解模型的作用