加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
pandas2.py 1.93 KB
一键复制 编辑 原始数据 按行查看 历史
枙义38 提交于 2024-08-09 17:08 . pandas学习2
import pandas as pd
import numpy as np
## 读取csv文件
df=pd.read_csv('E:/Python_huatu/python_mat.numpy.pandas/books.csv')
## 显示文件信息
print(df.head())
print(df.info())
## DataFrame的排序
df_list=[]
# 使用Pandas内置方法转换为字典列表
df_list = df[["id", "ratings_count", "books_count"]].to_dict("records")
df_list=pd.DataFrame(df_list)
print(df_list.head())
print("#"*100)
## sort_values()方法对DataFrame进行排序
## ascending为True时升序排列,为False时降序排列
## by指定排序字段
df=df_list.sort_values(by='ratings_count',ascending=True)
print(df.head(10))
## pamdas的取行和取列方法
## []里是数组,对行取
## []里是字符串,对列取
print(df[:20]) # 取前20行
print(df['id']) # 取id列
t=pd.DataFrame(np.arange(12).reshape(3,4),index=list("abc"),columns=list("WXYZ"))
print(t)
## loc 方法获取指定行和列的数据
print(t.loc["a","Z"]) # 获取a行Z列
print(t.loc[:,"X"]) ## 获取X列的所有行
print(t.loc[:,["W","Y"]]) ## 获取W和Y列的所有行
print(t.loc[["a","c"],["W","Y"]]) ## 获取a和c行,W和Y列
print(t.loc["a":"c",["W","Y"]]) ## 获取a到c行,W和Y列
## iloc方法获取指定行和列的数据
print(t.iloc[0,3]) # 获取第0行第4列
print(t.iloc[:,1:3]) ## 获取第1列到第3列
print(t.iloc[:,[3,1]]) ## 获取第3列和第1列
## pandas缺失值处理
t.loc["b":"c",["W","Y"]]=np.nan
_t=t;
print(_t)
print(pd.isnull(_t)) ## 判断是否为空
print(pd.notnull(_t)) ## 判断是否不为空
## 删除空值
## axis=0表示删除行,axis=1表示删除列
## how="any"表示只要有一个空值就删除,how="all"表示所有值都为空才删除,默认how="any"
## subset=["W","Y"]表示删除W和Y列中有空值的行
## inplace=True表示删除后直接修改原数据
## _t.dropna(axis=0,how="any",subset=["W","Y"],inplace=True)
print(_t.dropna(axis=0))
print(_t.dropna(axis=0,how="all"))
## 填充缺失值
t1=_t.fillna(0,inplace=False) ## nan填充为0
t2=_t.fillna(_t.mean(),inplace=False) ## nan填充为均值
print(t1)
print("$"*100)
print(t2)
print("$"*100)
_t["W"]=_t["W"].fillna(_t["W"].mean(),inplace=False) ## 填充W列的nan为W列的均值
print(_t)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化