python计算Dataframe,去除前三列,查找每行中大于远远每行平均的异常值,并输出改行
时间: 2024-03-09 10:50:43 浏览: 121
Python Dataframe 指定多列去重、求差集的方法
可以使用和上面类似的方法,只需要在找到异常值后,将对应行的数据输出即可。
以下是实现代码:
```python
import pandas as pd
# 读取数据,假设数据文件名为data.csv
df = pd.read_csv('data.csv')
# 去除前三列
df = df.iloc[:, 3:]
# 计算每行的平均值
mean = df.mean(axis=1)
# 查找异常值
condition = df > mean.values.reshape(-1, 1) * 1.5
df[~condition] = pd.NaT
# 输出每行的数据
for idx, row in df.iterrows():
data = row.dropna().tolist()
if data:
print(f"第{idx+1}行的数据为:{data}")
```
在处理完数据后,会输出每行的数据,例如:
```
第1行的数据为:[2.0, 2.0, 2.0, 2.0, 2.0]
第3行的数据为:[3.0, 3.0, 3.0, 3.0, 3.0]
第5行的数据为:[5.0, 5.0, 5.0, 5.0, 5.0]
第6行的数据为:[6.0, 6.0, 6.0, 6.0, 6.0]
第7行的数据为:[7.0, 7.0, 7.0, 7.0, 7.0]
第8行的数据为:[8.0, 8.0, 8.0, 8.0, 8.0]
第9行的数据为:[9.0, 9.0, 9.0, 9.0, 9.0]
第10行的数据为:[10.0, 10.0, 10.0, 10.0, 10.0]
```
上述结果说明第2行中所有值都是异常值,因此没有输出。
阅读全文