python数据分析1-数据表的生成、检查和数据的清洗

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中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值