【发布时间】:2020-06-25 09:40:06
【问题描述】:
csv 表格:
所以我有一个 csv 文件,其中包含不同的列,例如 nodeVolt、Temperature1、temperature2、temperature3、压力和光度。在温度列下,有多个单元格的值是错误的(即 220)。我想通过取前 10 个单元格的平均值并在那里替换它来替换该单元格中的该值。我希望通过在该特定列中查找所有值为 220 的单元格并用同一列中前 10 个值的平均值替换它来动态运行。
我能够在该特定问题中搜索包含 220 的单元格,但无法取平均值并替换它。
import pandas as pd
import numpy as np
data = pd.read_csv(r"108e.csv")
data = data.drop(['timeStamp','nodeRSSI','packetID', 'solarPanelVolt', 'solarPanelBattVolt',
'solarPanelCurr','temperature2','nodeVolt','nodeAddress'], axis = 1)
df = pd.DataFrame(data)
df1 = df.loc[lambda df: df['temperature3'] == 220]
print(df1)
for i in df1:
df1["temperature3"][i] == df["temperature3"][i-11:i-1, 'temperature3'].mean()
【问题讨论】:
标签: python pandas dataframe csv numpy-ndarray