如何做聚合类网站,wordpress支持python吗,网页作品展示,网站推广计划书模板1.数据清洗定义 数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况#xff0c;如果要使数据分析更加准确#xff0c;就需要对这些没有用的数据进行处理。
2.清洗空值
DataFrame.dropna(axis0, howany, threshN…1.数据清洗定义 数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况如果要使数据分析更加准确就需要对这些没有用的数据进行处理。
2.清洗空值
DataFrame.dropna(axis0, howany, threshNone, subsetNone, inplaceFalse) 删除包含空字段的行可以使用 dropna() 方法。可以通过 isnull() 判断各个单元格是否为空。
1axis默认为 0表示逢空值剔除整行如果设置参数 axis1 表示逢空值去掉整列。
2how默认为 any 如果一行或一列里任何一个数据有出现 NA 就去掉整行如果设置 howall 一行或列都是 NA 才去掉这整行。
3thresh设置需要多少非空值的数据才可以保留下来的。
subset设置想要检查的列。如果是多个列可以使用列名的 list 作为参数。
4inplace如果设置 True将计算得到的值直接覆盖之前的值并返回 None修改源数据。
import pandas as pddf pd.read_csv(property-data.csv)print (df[NUM_BEDROOMS])
print (df[NUM_BEDROOMS].isnull()) 3.指定空数据类型
import pandas as pdmissing_values [n/a, na, --]
df pd.read_csv(property-data.csv, na_values missing_values)print (df[NUM_BEDROOMS])
print (df[NUM_BEDROOMS].isnull()) 4.删除包含空数据的行
import pandas as pddf pd.read_csv(property-data.csv)new_df df.dropna()print(new_df.to_string()) 5.使用 inplace True 参数修改源数据 DataFrame
import pandas as pddf pd.read_csv(property-data.csv)df.dropna(inplace True)print(df.to_string()) 6.移除 ST_NUM 列中字段值为空的行
import pandas as pddf pd.read_csv(property-data.csv)df.dropna(subset[ST_NUM], inplace True)print(df.to_string()) 7.用fillna() 方法替换空字段
import pandas as pddf pd.read_csv(property-data.csv)df.fillna(12345, inplace True)print(df.to_string()) 8.指定列来替换数据
import pandas as pddf pd.read_csv(property-data.csv)df[PID].fillna(12345, inplace True)print(df.to_string()) 9.使用 mean() 方法计算列的均值并替换空单元格 替换空单元格的方法是计算列的均值、中位数值或众数。Pandas使用 mean()、median() 和 mode() 方法计算列的均值所有值加起来的平均值、中位数值排序后排在中间的数和众数出现频率最高的数。
import pandas as pddf pd.read_csv(property-data.csv)x df[ST_NUM].mean()df[ST_NUM].fillna(x, inplace True)print(df.to_string()) 10.使用 median() 方法计算列的中位数并替换空单元格
import pandas as pddf pd.read_csv(property-data.csv)x df[ST_NUM].median()df[ST_NUM].fillna(x, inplace True)print(df.to_string()) 11.使用 mode() 方法计算列的众数并替换空单元格
import pandas as pddf pd.read_csv(property-data.csv)x df[ST_NUM].mode()df[ST_NUM].fillna(x, inplace True)print(df.to_string()) 12.清洗格式错误数据 数据格式错误的单元格会使数据分析变得困难甚至不可能。可通过包含空单元格的行或将列中所有单元格转换为相同格式数据。
import pandas as pd# 第三个日期格式错误
data {Date: [2020/12/01, 2020/12/02 , 20201226],duration: [50, 40, 45]
}df pd.DataFrame(data, index [day1, day2, day3])df[Date] pd.to_datetime(df[Date], formatmixed)print(df.to_string()) 13.清洗错误数据
数据错误是常见情况可以对错误的数据进行替换或移除。
import pandas as pdperson {name: [Google, Kalika , Taobao],age: [50, 40, 12345] # 12345 年龄数据是错误的
}df pd.DataFrame(person)df.loc[2, age] 30 # 修改数据print(df.to_string()) 14.设置条件语句
import pandas as pdperson {name: [Google, Kalika , Taobao],age: [50, 200, 12345]
}df pd.DataFrame(person)for x in df.index:if df.loc[x, age] 120:df.loc[x, age] 120print(df.to_string()) 15.将错误数据的行删除
import pandas as pdperson {name: [Google, Kalika , Taobao],age: [50, 40, 12345] # 12345 年龄数据是错误的
}df pd.DataFrame(person)for x in df.index:if df.loc[x, age] 120:df.drop(x, inplace True)print(df.to_string()) 16.清洗重复数据 清洗重复数据可以使用 duplicated() 和 drop_duplicates() 方法。如果对应数据重复duplicated() 会返回 True否则返回 False。
import pandas as pdperson {name: [Google, Kalika, Kalika, Taobao],age: [50, 40, 40, 23]
}df pd.DataFrame(person)print(df.duplicated()) 17.使用drop_duplicates() 方法删除重复数据
import pandas as pdpersons {name: [Google, Kalika, Kalika, Taobao],age: [50, 40, 40, 23]
}df pd.DataFrame(persons)df.drop_duplicates(inplace True)print(df)