概述
DA24 去掉信息不全的用户
注意:
1.不输入参数dtype=object 就通过不了。
2.
pd.set_option('display.width', 300) # 设置字符显示宽度
pd.set_option('display.max_rows', None) # 设置显示最大行
pd.set_option('display.max_columns', None)
为什么没有这3行就不能通过
3.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表示直接在原数据上更改
import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',',dtype=object)
pd.set_option('display.width', 300)
# 设置字符显示宽度
pd.set_option('display.max_rows', None)
# 设置显示最大行
pd.set_option('display.max_columns', None)
# print(Nowcoder.notnull()) # oneself
# print(Nowcoder.dropna(how = 'any')) #1
DA25 修补缺失的用户数据
注意:
1.这道题又不能加dtype=object
import pandas as pd
Nowcoder = pd.read_csv("Nowcoder.csv", sep=",")
pd.set_option("display.width", 300)
# 设置字符显示宽度
pd.set_option("display.max_rows", None)
# 设置显示最大行
pd.set_option("display.max_columns", None)
# full_year = Nowcoder.Graduate_year.max()
# full_language = "Python"
# full_achieve = Nowcoder.Achievement_value.mean().round(0)
# Nowcoder.loc[Nowcoder.Graduate_year.isna(), "Graduate_year"] == full_year
# Nowcoder.loc[Nowcoder.Language.isna(), "Language"] = full_language
# Nowcoder.loc[Nowcoder.Achievement_value.isna(), "Achievement_value"] = full_achieve
# print(Nowcoder) # 1
Nowcoder["Graduate_year"].fillna(Nowcoder["Graduate_year"].max())
Nowcoder["Language"].fillna("Python")
Nowcoder["Achievement_value"].fillna(Nowcoder["Achievement_value"].mean())
print(Nowcoder) # 2
DA26 解决牛客网用户重复的数据
注意:
1.this question have two steps.
import pandas as pd
Nowcoder = pd.read_csv("Nowcoder.csv", sep=",")
pd.set_option("display.width", 300)
# 设置字符显示宽度
pd.set_option("display.max_rows", None)
# 设置显示最大行
pd.set_option("display.max_columns", None)
print(Nowcoder.duplicated()) # oneself-1
print(Nowcoder.drop_duplicates()) # oneself-the second step
DA27 统一最后刷题日期的格式
1.必须要加,dtype=object
2.运营同学发现最后一次提交题目日期这一列有各种各样的日期格式,这对于他分析用户十分不友好,你能够帮他输出用户ID、等级以及统一后的日期吗?(日期格式统一为yyyy-mm-dd),这种问题很常见。
import pandas as pd
Nowcoder = pd.read_csv("Nowcoder.csv", sep=",", dtype=object)
pd.set_option("display.width", 300)
# 设置字符显示宽度
pd.set_option("display.max_rows", None)
# 设置显示最大行
pd.set_option("display.max_columns", None)
# Nowcoder['Last_submission_time'] =
Nowcoder['Last_submission_time'].to_timestamp
# oneself
# Nowcoder["Last_submission_time"] = pd.to_datetime(
#
Nowcoder["Last_submission_time"], format="yyyy-mm-dd"
# ) # oneself-2
# Nowcoder["Last_submission_time"] = pd.to_datetime(
#
Nowcoder["Last_submission_time"], format="%Y-%m-%d"
#
) # 1
# Nowcoder["Last_submission_time"] = pd.to_datetime("2022-01-01") # 2
Nowcoder = pd.read_csv(
"Nowcoder.csv", sep=",", dtype=object, parse_dates=["Last_submission_time"] # 3
)
print(Nowcoder[["Nowcoder_ID", "Level", "Last_submission_time"]])
DA28 将用户的json文件转换为表格形式
import pandas as pd
pd.set_option("display.width", 300)
# 设置字符显示宽度
pd.set_option("display.max_rows", None)
# 设置显示最大行
pd.set_option("display.max_columns", None)
Nowcoder = pd.read_json("Nowcoder.json")
# print(Nowcoder) # oneself
# print(pd.DataFrame(Nowcoder)) # oneself-2
import json
# with open ('Nowcoder.json','r') as f:
#
data = json.loads(f.read())
# res = pd.DataFrame(data)
# print(res) # 1
with open ('Nowcoder.json','r',encoding="utf-8") as f:
data = json.load(f)
res = pd.DataFrame(data)
print(res) # 2
最后
以上就是心灵美帅哥为你收集整理的Python:启程 数据分析-牛客网在线编程-数据清洗+json处理-24-28DA24 去掉信息不全的用户DA25 修补缺失的用户数据DA26 解决牛客网用户重复的数据DA27 统一最后刷题日期的格式DA28 将用户的json文件转换为表格形式的全部内容,希望文章能够帮你解决Python:启程 数据分析-牛客网在线编程-数据清洗+json处理-24-28DA24 去掉信息不全的用户DA25 修补缺失的用户数据DA26 解决牛客网用户重复的数据DA27 统一最后刷题日期的格式DA28 将用户的json文件转换为表格形式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复