Python数据处理之pandas基础入门

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。
Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。
Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。
Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。
Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

基础操作1

import pandas as pd 
import numpy as np
#DataFrame  是一个series容器 行索引 index axis=0 列索引 columns axis=1
t1=pd.DataFrame(np.arange(12).reshape(3,4))
#指定行列索引 为abc 和ABCD
t1=pd.DataFrame(np.arange(12).reshape(3,4),index=list("abc"),columns=list("ABCD"))
print(t1) 
#取指定行列 
print(t1.loc["a","B"])
#取某一行
print(t1.loc["a"])
#取某一列
print(t1.loc[:,"B"])
#取多行 多列
print(t1.loc[["b","c"],["B","D"]])

print("*"*120)
#iloc  取行
print(t1.iloc[1,:])
#iloc  取列
print(t1.iloc[:,1])
#iloc  取行多列
print(t1.iloc[[1,2],[0,1]])
print("-"*120)
#pandas 读取csv文件
df=pd.read_csv("./data/MyCSV3_nan.csv")
print((pd.isnull(df)))
#删除nan的一行 取那一行不为空的部分
print(df[pd.notnull(df["c"])])
#删除全部是nan的行
print(df.dropna(axis=0,how="all"))
#删除有nan的行
print(df.dropna(axis=0,how="any"))
#df数据本身会被修改 inplace
# print(df.dropna(axis=0,how="any",inplace=true))
#填充nan 全部为0
print(df.fillna(0))
#填充nan 为均值
print(df.fillna(df.mean()))
#填充b列的nan 为均值
df["b"]=df["b"].fillna(df["b"].mean())
#nan 不会参与均值的运行 0会参与均值的运算
print(df)

基础操作1

import pandas as pd 
import numpy as np
#pandas 读取csv文件
df=pd.read_csv("./data/USvideos_p.csv")
print(type(df))
# print(df)
#DataFrame  是一个series容器 行索引 index axis=0 列索引 columns axis=1
#DataFrame 可以传入一个字典
print(df.dtypes)
#显示前几行 
print(df.head(2)) 
#显示后几行 
print(df.tail(2))
#显示df的信息
print(df.info())
#简单的统计一下 只能统计数值类型
print(df.describe())

#统计喜欢人数最少的 前2几个 排序 和指定排序的方式
df=df.sort_values(by="dislikes",ascending="False")
print(df.head(2))
#取前3行
print(df[:3])
#取dislikes 列的数据
#print(df["dislikes"])
print("*"*120)
#取dislikesb不喜欢的大于300 小于416
print(df[((300<df["dislikes"])&(df["dislikes"]<416))])
print("-"*120)
#取tag |分割
print(df["tags"].str.split("|").to_list()) 

基础操作2

from matplotlib import pyplot as plt
import pandas as pd 
import numpy as np

#pandas 读取csv文件
df=pd.read_csv("./data/imdb_top_1000.csv")
print(df.info())
#去掉时间中的 min单位
runtime_data=df["Runtime"].str.replace(" min","")
#str格式转换为int
runtime_data=runtime_data.astype('int')
max_run=runtime_data.max()
print(type(max_run))
min_run=runtime_data.min()
#"/ "就表示 浮点数除法,返回浮点结果;"//"表示整数除法。
runtime_x=((max_run-min_run)//5)

#支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
#设置图像的大小 创建一个 20 * 8 点(point)的图,并设置分辨率为 80
plt.figure(figsize=(20,8),dpi=80)
plt.hist(runtime_data,runtime_x)
 
plt.xticks(range(min_run,max_run+5,5))
plt.show()

用到的数据集

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值