python day4
一.ipynb
import pandas as pd #导入pandas包
data = pd.read_csv(r'E:\PythonStudy\data.csv') # 读取文件,路径可以是绝对路径/相对路径
data # 显示data数据,展示前5行与后5行
!pip install openpyxl # pandas读取excel需要安装openpyxl库,去anaconda prompt中安装
import pandas as pd
data = pd.read_excel(r'E:\PythonStudy\data.xlsx')
data
type(data) # 查看data类型
data.head() # 查看数据,默认前五行
data.info() # 列名、非空值、数据类型
data.shape # (行数, 列数) data的属性
data.columns # 所有列名 data的属性
type(data.columns) # 查看所有列名的类型
data.describe() # 数值列的基本统计量
# dtype是data type的缩写,用于描述数据类型。后续会频繁借助这个方法来查看某一列数据的属性
data.dtypes # 各列数据类型
data["Annual Income"].dtype # 查看某一列的数据类型
type(data['Annual Income'])
# dataframe里单独的一列是series
data.isnull() # 布尔矩阵显示缺失值,这个方法返回一个布尔矩阵,也是dataframe对象,其中True表示是缺失值,False表示不是缺失值。
type(data.isnull()) # 查看缺失值布尔矩阵的类型
data.isnull().sum() # 每列缺失值计数,sum方法为求每一列的和。有数的即为有缺失值的列
mode = data['Annual Income'].mode()
# mode() 会返回数据中出现频率最高的所有值,如果频次相同,会返回最多每个值。
mode
# 这里返回了4个最多频次的值,我们一般保留第一个
mode = mode[0]
# 众数填补
data['Annual Income'].fillna(mode, inplace=True)
# 检查下是否有缺失值
data['Annual Income'].isnull().sum()
mean_value = data['Annual Income'].mean()
data['Annual Income'].fillna(mean_value, inplace=True)
data.isnull().sum()
median_income = data['Annual Income'].median()
data['Annual Income'].fillna(median_income, inplace=True)
data['Annual Income'].isnull().sum()
c = data.columns.tolist()
type(c)
c
for i in c:
if data[i].dtype != 'object':
if data[i].isnull().sum() > 0:
mean_value = data[i].mean()
data[i].fillna(mean_value, inplace=True)
data.isnull().sum()
for i in c:
if data[i].dtype != 'object':
if data[i].isnull().sum() > 0:
mode = data[i].mode()
data[i].fillna(mode, inplace=True)
data.isnull().sum()
for i in c:
if data[i].dtype != 'object':
if data[i].isnull().sum() > 0:
median = data[i].median()
data[i].fillna(median, inplace=True)
data.isnull().sum()
二.py文件(见图片)

更多推荐
所有评论(0)