python数据分析学习(4)

数据清洗

前提:

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv',sep=',',dtype=object)

1.删除整行,若行中存在任意空值:dropna

dropna()用法:
DataFrme.dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)
参数:
axis: 默认axis=0。0为按行删除,1为按列删除
how: 默认 ‘any’。 ‘any’指带缺失值的所有行/列; 'all’指清除一整行/列都是缺失值的行/列
thresh: int,保留含有int个非nan值的行
subset: 删除特定列中包含缺失值的行或列
inplace: 默认False,即筛选后的数据存为副本,True表示直接在原数据上更改

print(Nowcoder.dropna(how = 'any'))

2.填充缺失值:fillna

Nowcoder.Language.fillna('Python')
a=Nowcoder.Graduate_year.max()
Nowcoder.Graduate_year.fillna(a)
b=Nowcoder.Achievement_value.mean()
Nowcoder.Achievement_value.fillna(b)
#请你使用当前的最大年份填充缺失的毕业年份(“Graduate_year”),用Python填充缺失的常用语言(“Language”),
#用成就值的均值(四舍五入保留整数)填充缺失的成就值(“Achievement_value”)

3.查找重复值,删去重复值:duplicated,drop_duplicated

Duplicated函数功能:查找并显示数据表中的重复值
这里需要注意的是:

当两条记录中所有的数据都相等时duplicated函数才会判断为重复值
duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式
默认是从前向后进行重复值的查找和判断,也就是后面的条目在重复值判断中显示为True
链接:https://www.jianshu.com/p/23c93e0f369a

print(Nowcoder.duplicated())#返回布尔型数据,告诉重复值的位置
print(Nowcoder.drop_duplicates())#删除重复记录
Nowcoder.duplicated().sum() #说明有多少个重复值
Nowcoder.reset_index()#重置索引

4.日期一列的格式统一成yyyy-mm-dd:to_datetime

Nowcoder['Last_submission_time'] = pd.to_datetime(Nowcoder['Last_submission_time'])
Nowcoder['Last_submission_time'] = pd.to_datetime(Nowcoder['Last_submission_time']).dt.date
#to_datetime默认有时间精度,.dt.date去掉分钟,得到日期列表如:2021-12-1

5. 将用户的json文件转换为表格(dataframe)形式:

with open('Nowcoder.json', 'r') as f:
    data = json.loads(f.read())
print(pd.DataFrame(data))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值