python数据分析之Pandas库(一)

这篇具有很好参考价值的文章主要介绍了python数据分析之Pandas库(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Pandas介绍

Pandas有两种常用的数据结构: Series (一维数据)与 DataFrame(二维数据)。
Series 是一种类似于一维数组的对象,能保存不同数据类型。
DataFrame 是一个二维的表格型的数据结构。

一、导入

import pandas as pd

二、Series

1、初始化

使用一位列表初始化Series

# 默认索引下标为数字
s=pd.Series([1,3,5,np.nan,6,7])

# 更改索引下标为指定字母
s1=pd.Series([1,3,5,np.nan,6,7],index=['a','b','c','d','x','y'])

2、索引[数据的行标签]、切片

s=pd.Series([1,3,5,np.nan,6,7])
# 索引
s.index

# 值
s.values

# 索引取值,下标为0的元素值
s[0]

# 切片,左闭右开,步长为2
s[1:5:2]

# 为索引取名
s.index.name='索引'

# 修改索引下标
s.index=list('abcdxy')

# 根据自定义的索引进行切片,非左闭右开
s['a':'c':2]

三、DataFrame

1、初始化

import numpy as np
df1 = pd.DataFrame(np.random.randn(6,4))  # 6行4列,默认行列标签均为数字下标

date=pd.date_range('20230908',periods=6)  # 构造行标签
df = pd.DataFrame(np.random.randn(6,4), index = date, columns = list("ABCD"))  # index指定行标签,columns指定列标签

# 使用字典传入数据
df2 = pd.DataFrame({
'A':1.,
'B':pd.Timestamp("20181001"),
'C':pd.Series(1,index = list(range(4)),dtype = float),
'D':np.array([3]*4, dtype = int),
'E':pd.Categorical(["test","train","test","train"]),
'F':"abc"}) #B:时间戳,E分类类型

2、查看数据

# 查看各列的数据类型
df2.dtypes

# 查看头尾数据
df.head()
df.tail(3)

# 查看行标签
df.index

# 查看列标签
df.columns

# 查看元素值
df.values

四、pandas读取数据即数据操作

python数据分析之Pandas库(一),python数据分析,python,数据分析,pandas

1、读入文件【以豆瓣电影为例】

# 读入excel文件
df=pd.read_excel(r"D:\desk\77\bbb\python\豆瓣电影数据.xlsx",index_col = 0)
# 读入CSV文件  pd.read_csv(r'路径')

2、行操作

访问

# 取第一行
df.iloc[0]
# 取前4行
df.iloc[:4]  #左闭右开

df.loc[:4]  #不是左闭右开

添加一行

dit = {"名字":"复仇者联盟3","投票人数":123456,"类型":"剧情/科幻","产地":"美国","上映时间":"2018-05-04 00:00:00","时长":142,"年代":2018,"评分":np.nan,"首映地点":"美国"}
s = pd.Series(dit)
s.name = 38738
df=df.append(s)  # 覆盖掉原来的数据重新进行赋值 

删除一行

df = df.drop([38738])

3、列操作

访问

# 取列标签
df.columns

# 取指定标签列
df['产地']
# 取多列,指定标签
df['名字','类型']
# 取定标签列的,前5行
df['名字'][:5]

添加一列

# 添加为‘序号’的1列,值为1到len(df)
df['序号']=range(1,len(df)+1)

删除一列

# 删除名为‘序号’的1列
df=df.drop('序号',axis=1)  # axis指定方向:0为行,1为列

通过标签选择数据
df.loc[index,column]

# 选择行标签为1,列标签为‘名字’的元素
df.loc[1,'名字']  

# 选择多行多列
df.loc[[1,3,5,7,9],['名字','评分']]

条件选择

选取产地为美国的所有电影

df[df['产地']=='美国']

选取产地为美国的所有电影,并且评分大于9分的电影

df[(df.产地=='美国')&(df.评分)>9]  # df.标签  等同于 df['标签']

选取产地为美国或中国大陆的所有电影,并且评分大于9分

df[((df.产地 == "美国") | (df.产地 == "中国大陆")) & (df.评分 > 9)]

五、缺失值及异常值处理

方法 说明
dropna 根据标签中的缺失值进行过滤,删除缺失值
fillna 对缺失值进行填充
isnull 判断哪些值是缺失值,返回布尔对象
notnull isnull的否定式

1、判断缺失值

df[df['名字'].isnull()]
df[df['名字'].notnull()]

2、填充缺失值

df[df['评分'].isnull()]
df['评分'].fillna(np.mean(df['评分']),inplace=True)  # 使用均值来进行填充,inplace意为直接在原始数据中进行修改

df1=df.fillna('未知电影')  # 将所有空值填充为‘未知电影’
df1[df1['名字'].isnull()  # 填充后所有元素均不空

3、删除缺失值

df.dropna() 参数
how = ‘all’:删除全为空值的行或列
inplace = True: 覆盖之前的数据
axis = 0: 选择行0或列1,默认是行

df2=df.dropna()  # 产生新对象
df.dripna(inplace=True)  # 直接在原对象上操作

4、处理异常值

异常值,即在数据集中存在不合理的值,又称离群点。比如年龄为-1,笔记本电脑重量为1吨等,都属于异常值的范围。

# 投票人数小于0的数或小数均为异常值,可直接删除或修正
df=df[df.投票人数>0]  # 大于0
df=df[df['投票人数']%1==0  # 整数

5、数据保存

数据处理之后,然后将数据重新保存到movie_data.xlsx文章来源地址https://www.toymoban.com/news/detail-702968.html

df.to_ecxel('movie_data.xlsx')

到了这里,关于python数据分析之Pandas库(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Python数据分析技术栈》第06章使用 Pandas 准备数据 01 Pandas概览(Pandas at a glance)

    《Python数据分析技术栈》第06章使用 Pandas 准备数据 01 Pandas概览(Pandas at a glance) Wes McKinney developed the Pandas library in 2008. The name (Pandas) comes from the term “Panel Data” used in econometrics for analyzing time-series data. Pandas has many features, listed in the following, that make it a popular tool for data wrang

    2024年01月23日
    浏览(46)
  • python数据分析之Pandas库(一)

    Pandas有两种常用的数据结构: Series (一维数据)与 DataFrame(二维数据)。 Series 是一种类似于 一维数组 的对象,能保存不同数据类型。 DataFrame 是一个 二维的表格型 的数据结构。 1、初始化 使用一位列表初始化Series 2、索引[数据的行标签]、切片 1、初始化 2、查看数据 1、

    2024年02月09日
    浏览(48)
  • 《Python数据分析技术栈》第06章使用 Pandas 准备数据 11 pandas中的运算符 Operators in Pandas

    《Python数据分析技术栈》第06章使用 Pandas 准备数据 11 pandas中的运算符 Operators in Pandas Pandas uses the following operators that can be applied to a whole series. While Python would require a loop to iterate through every element in a list or dictionary, Pandas takes advantage of the feature of vectorization implemented in NumPy that

    2024年01月23日
    浏览(50)
  • Python数据分析之Pandas核心使用进阶

    在Pandas中,有两种常见的方法可以进行DataFrame的行级遍历:使用 iterrows() 和使用 iteritems() 。 使用 iterrows() 方法: iterrows() 方法返回一个迭代器,可以按行遍历DataFrame。每次迭代返回一个包含行索引和该行数据的元组。 输出结果为: 在上面的例子中,我们使用 iterrows() 方法遍

    2024年02月11日
    浏览(75)
  • 【Python】数据分析+数据挖掘——探索Pandas中的数据筛选

    当涉及数据处理和分析时,Pandas是Python编程语言中最强大、灵活且广泛使用的工具之一。Pandas提供了丰富的功能和方法,使得数据的选择、筛选和处理变得简单而高效。在本博客中,我们将重点介绍Pandas中数据筛选的关键知识点,包括条件索引、逻辑操作符、 query() 方法以及

    2024年02月15日
    浏览(58)
  • Python 数据处理与分析之 Pandas 库

    Pandas(Python Data Analysis Library)是一个流行的 Python 第三方库,是数据处理和数据分析中不可或缺的工具之一,用于数据处理和数据分析。 它提供了高效的数据分析方法和灵活且高效的数据结构。相比于其他的数据处理库,pandas更适用于处理具有关系型数据或者带标签数据的情

    2024年02月05日
    浏览(37)
  • Python初学小知识(十四):数据分析处理库Pandas

    来源于这里。 很多情况下用的是pandas而不是numpy,因为前者是在后者的基础上又封装了一些操作,相当于做了函数简化。pandas主要是数据预处理用的比较多。 1.1 读取csv 任意一种格式,只要是以 , 为分隔符,就可以用 read_csv 读取: 先把文件打印出来看看结果: 结果是和表

    2023年04月25日
    浏览(53)
  • 银行营销数据分析---Python(numpy、pandas、matplotlib)

    数据来源:kaggle银行营销数据 工具:Python、Jupyter Notebook 本项目采取的是kaggle银行营销的数据源,主要是预测客户是否会订购银行的产品,但是,这次我将 使用numpy、pandas、matplotlib数据分析三件套,基于源数据,深入分析影响银行三大业务—存款、贷款、营销产品的因素 ,

    2024年02月07日
    浏览(58)
  • 【Python】数据分析+数据挖掘——探索Pandas中的索引与数据组织

    在数据科学和数据分析领域,Pandas是一个备受喜爱的Python库。它提供了丰富的数据结构和灵活的工具,帮助我们高效地处理和分析数据。其中,索引在Pandas中扮演着关键角色,它是一种强大的数据组织和访问机制,使我们能够更好地理解和操作数据。 本博客将探讨Pandas中与索

    2024年02月15日
    浏览(58)
  • python-数据分析-numpy、pandas、matplotlib的常用方法

    输出方式不同 里面包含的元素类型 使用 索引/切片 访问ndarray元素 切片 左闭右开 np.array(list) np.arange() np.random.randn() - - - 服从标准正态分布- - - 数学期望 μ - - - 标准方差 s 使用matplotlib.pyplot模块验证标准正态分布 np.random.randint(起始数,终止数(行,列)) 数据分析 - - - 数据清洗

    2024年02月10日
    浏览(98)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包