1生成数据表
使用 python 进行数据导入前需要先导入 pandas 库
import pandas as pd
生成数据表用到的是 pandas 库中的 DateFrame 函数
1.1导入数据表
way1:
df = pd.DataFrame(pd.read_excel('a.xlsx', sheet_name='Sheet1'))
way2:
filename = ('D:\\pythonProject\\a.xlsx')
df = pd.read_excel(filename, sheet_name='Sheet1', dtype = str)
为了实现后续的功能,其中设置了许多的问题数据
1.2创建数据表
df0 = pd.DataFrame({"name": ['anna', 'bella', 'cindy', 'dora', 'ella', 'fila', 'new', 'anna'],
"age": [22, 23, 19, 15, 14, 16, 17, 22],
"sex": ['女', '女', '女', '女', '女', '男', '男', '女'],
"score": [90, np.nan, 67, 54, np.nan, 47, 98, 57]},
columns=['name', 'age', 'sex', 'score'])
print(df0)
1.3保存为excel
df.to_excel("student.xlsx")
2数据表检查
2.1查看数据表的维度
print(df.shape) # 查看数据表的维度
2.2查看数据表信息
print(df.info) # 数据表信息
2.3查看数据表格式
print(df.dtypes) # 查看数据表各列格式
print(df['name'].dtype) # 查看name列格式
2.4查看空值
print(df['score'].isnull()) # 检查score列空值
print(df['score'].isnull().value_counts()) # 获得空值数据量
2.5查看唯一值
print(df['name'].unique()) # 查看name列中的唯一值
2.6查看数据表的值
print(df.values) # 查看数据表的值
2.7查看列名称
print(df.columns) # 查看列名称
2.8查看指定数据
print(df.head(3)) # 查看前 3 行数据,默认前 5 行
print(df.head(-14360)) # 假设共有14363行数据,显示前三行
print(df.tail(3)) # 查看后 3 行数据
3数据清洗
3.1处理异常值
# print(df.describe()) # 默认情况下,仅返回数值字段
df['score'] = df['score'].replace([10000, -86], 60) # 替换异常数据
3.2处理空值
3.2.1删除
df.dropna(how='any') # 删除数据表中含有空值的行
3.2.2填充
df = df.fillna(df['score'].mean())
# print('\n用平均值填充NAN后\n', df.fillna(df['score'].mean())) # 使用平均值填充数据表中空值
# print('\n用60填充NAN后\n', df.fillna(60)) # 使用数字 60 填充数据表中空值
3.3处理重复值
df = df.drop_duplicates()
df = df.drop_duplicates(keep='last') # 保留最后一个重复值
3.4清除空格
df['sex'] = df['sex'].map(str.strip)
df['name'] = df['name'].map(str.strip)
3.5大小写转换
df['name'] = df['name'].map(str.title) # name列首字母大写
3.6更改数据格式
df['age'].astype('int')
3.7更改列名称
df = df.rename(columns={'name': 'stuName'})
3.8保存到已有excel
df.to_excel("a1.xlsx") # 生成表a1
with pd.ExcelWriter('a1.xlsx',
mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet2') # 追加到表a1的Sheet2中