0.文件的导入和导出

① Excel

1.导入表格

df=pd.read_excel('1月.xlsx',sheet_name='莫寒')

不指定sheet则导入第一张

2.导入指定列

df1 = pd.read_excel('1月.xlsx', usecols=[0, 3])            #通过指定列索引号导入第0列、第3列

3.指定行列索引

df1=pd.read_excel('1月.xlsx',index_col=0)  #设置“买家会员名”为行索引
df2=pd.read_excel('1月.xlsx',header=1)     #设置第1行为列索引header = None则指定为数字

1.Series对象

①创建

s = pd.Series(data,index=)s2=pd.Series([88,60,75],index=['明日同学','高同学','七月流火'])

②访问

1. []里面放索引名或列表

print(s1['明日同学'])        #通过一个标签索引获取索引值
print(s1[['明日同学','七月流火']])  #通过多个标签索引获取索引值

2.切片

s1['明日同学':'七月流火']

s1[1:4]   输出下标为1,2,3的

③两个属性

s1.index   获取索引

s1.values  获取值

2.DataFrame对象

①创建

1.二维列表创建

data = [[110,105,99],[105,88,115],[109,120,130],[112,115,140]]
name = ['明日','七月流火','高袁圆','二月二']
columns = ['语文','数学','英语']
df = pd.DataFrame(data=data, index=name, columns=columns)

2.字典创建

df = pd.DataFrame({'语文':[110,105,99],'数学':[105,88,115],'英语':[109,120,130],'班级':'高一7班'
},index=[0,1,2])

键就是列名,只需指定行名index了

②重要属性和函数

④数据抽取

1.直接df[列名]

2.loc和iloc属性

前者列名行名,后者数字索引

第一个参数为行参数,第二个为列参数

print(df.loc[['明日','高袁圆']])
print(df.iloc[[0,2]])           #访问0和2行

同Series,[]里面放行索引名或者行索引名列表

print(df.loc['明日':'二月二']) #从“明日”到“二月二”
print(df.loc[:'七月流火'])     #第1行到“七月流火”
print(df.iloc[0:4])            #第1行到第4行
print(df.iloc[1::])            #第2行到最后1行

注意,iloc[0:4]只有下标0,1,2,3的

print(df.iloc[1::,[0,2]])                      #第2行到最后一行的第1列和第3列
print(df.iloc[:,2])                           #所有行,第3列

两个参数也差不多

3.df.iat[,]选取某个坐标的数据

4.条件选取

print(df.loc[(df['语文'] > 109)])》》语文  数学  英语
明日     110   105  99.0
二月二   112   115   NaN

⑤数据增删改

1.增

①通过a["列名”],loc函数直接赋值

②或者

df.insert(1,"物理",[90,87,63])

③增加多行数据

df_insert = pd.DataFrame({'语文':[100,123,138],'数学':[120,142,60],'英语':[99,139,99]},index = ['钱多多','童年','无名'])
df1 = df.append(df_insert)

2.删

以下是删除两列,行类似

df1.drop(['数学',"语文"],axis=1,inplace=True)

3.改

①改行标列标

直接赋值,或者用rename函数,以下修改行,修改列同理

df.index=list('1234')
df.rename({'明日':1,'七月流火':2,'高袁圆':3,'二月二':4},axis=0,inplace = True)

②改数据

通过loc,iloc直接赋值

df.loc[:,'语文']=[115,108,112,118]

⑥数据清洗

1.缺失值

df.info()

df.isnull()

df.notnull()

处理:

①删除有缺失值的行,(只要该行有缺失值,就删除)

df.dropna(inplace=True)

②只删除特定列空值的行

df = df.loc[df["宝贝总数量"].notnull()]

③填充空值

df=df["宝贝总数量"].fillna(0)    #此行错误,会出大问题
df["宝贝总数量"]=df["宝贝总数量"].fillna(0)

2.重复值

①检测该行是否与前面行完全相同,返回每行的布尔值

print(df.duplicated())

②删除重复行

print(df.drop_duplicates())
print(df.drop_duplicates(["宝贝标题"],keep="last"))  #keep=False表示去除所有重复行

3.异常值

p = df > 100
print(p)
df = df.loc[p["英语"]]
print(df)》》语文  数学  英语
明日       110   105    99
七月流火   105    88   115
高袁圆     109   120   130
二月二     112   115   140语文   数学   英语
明日      True   True  False
七月流火  True  False   True
高袁圆    True   True   True
二月二    True   True   True语文  数学  英语
七月流火   105    88   115
高袁圆     109   120   130
二月二     112   115   140Process finished with exit code 0
p = df.std()
print(p["英语"])

⑦索引设置

1.series重设索引

之前的df.index = 实际上是索引重命名

from pandas import Series
s1=Series([88,60,75],index=[1,2,3])
print(s1)
s1=s1.reindex([1,2])
print(s1)》》
1    88
2    60
3    75
dtype: int64
1    88
2    60
dtype: int64

2.dataframe重设索引

import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[110,105,99],[105,88,115],[109,120,130]]
index=['mr001','mr003','mr005']
columns = ['语文','数学','英语']
df = pd.DataFrame(data=data, index=index,columns=columns)
print(df)
print(df.reindex(index=['mr001','mr002','mr003','mr004','mr005'],columns=['语文','物理','数学','英语']))》》语文  数学  英语
mr001   110   105    99
mr003   105    88   115
mr005   109   120   130语文  物理   数学   英语
mr001  110.0   NaN  105.0   99.0
mr002    NaN   NaN    NaN    NaN
mr003  105.0   NaN   88.0  115.0
mr004    NaN   NaN    NaN    NaN
mr005  109.0   NaN  120.0  130.0

3.设置某列为行索引

df = df.set_index(["买家会员名"])

4.把不连续的索引重新设为连续

df=df.reset_index(drop = Ture)

⑧数据排序与排名

1.排序

df.sort_values(by=['图书名称','销量'],ascending=[True,True])

2.分组排序

df1=df.groupby(["类别"])["销量"].sum().reset_index()
df2=df1.sort_values(by='销量',ascending=False)

3.排名

顺序排名和平均值排名  (1,2,3)(1,2.5,2.5)

df['顺序排名'] = df['销量'].rank(method="first", ascending=False)

1.Series和DataFrame相关推荐

  1. pandas使用append函数在dataframe上纵向合并数据实战:多个dataframe合并、合并series左右dataframe的一样、合并字典数据作为dataframe的行

    pandas使用append函数在dataframe上纵向合并数据实战:多个dataframe合并.合并series左右dataframe的一样.合并字典数据作为dataframe的行 目录

  2. pandas教程(一)Series与DataFrame

    前言 如何学习:先随着小编看一下几个重要的函数方法,然后用实例加以巩固 预备知识:NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成:实际的数据.描述这些数据的元数据 此外小编为你准 ...

  3. 【Python】Python常用的Series 和 Dataframe处理方法

    Series 和 Dataframe格式的数据处理工作,有很多常用的也比较巧妙的小方法,现总结下,方便理解应用. 本文会已方法基础格式+代码样例的形式加以讲解说明. 一 基础方法介绍 Series 和 ...

  4. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主

    利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目 ...

  5. pandas教程:series和dataframe

    起步 pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持.pandas是PyData项目的一 ...

  6. python 重置索引_python pandas 对series和dataframe的重置索引reindex方法

    reindex更多的不是修改pandas对象的索引,而只是修改索引的顺序,如果修改的索引不存在就会使用默认的None代替此行.且不会修改原数组,要修改需要使用赋值语句. series.reindex( ...

  7. Python 数据分析三剑客之 Pandas(一):认识 Pandas 及其 Series、DataFrame 对象

    CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...

  8. Series和DataFrame、相关性及NaN处理

    pandas核心数据结构 pandas是以numpy为基础的,还提供了一些额外的方法 Series series用来表示一维数据结构,与python内部的数组类似,但多了一些额外的功能. series ...

  9. python pandas 排序_Pandas的排序和排名(Series, DataFrame) + groupby

    根据条件对数据集排序(sorting)也是一种重要的内置运算.要对行或列索引进行排序(按字典顺序), 可使用sort_index 方法, 它将返回一个已排序的新对象: 而DataFrame, 则可以根 ...

  10. Python中的Series和DataFrame

    by Shubhi Asthana 通过Shubhi Asthana Python中的Series和DataFrame (Series and DataFrame in Python) A coupl ...

最新文章

  1. BB84和B92协议
  2. 018_html文件路径
  3. mysql connector安装教程_通过安装MySQL Connector/Net实现VS2017 C#编程连接MySQL数据库-网络教程与技术 -亦是美网络...
  4. IMX6ULL的GPIO操作方法
  5. Android中的Fragment使用
  6. OpenGL中的Uniform block size 的大小限制
  7. 201706问题记录
  8. 程序员7天长假出游指南
  9. golang中base64编码_golang中自带base64编码和解码
  10. 最大化/最小化/关闭窗口代码集锦
  11. 亿级Web系统负载均衡几种实现方式
  12. Java 11 中 11 个不为人知的瑰宝
  13. 修复Ubuntu系列pip
  14. python装饰器模式带参数_Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)...
  15. 蚂蚁金服测试开发实习面经
  16. 中国准货币体系的概要简析
  17. linux ubuntu 22.04卸载firefox火狐浏览器正确方式
  18. git stach储藏功能(SourceTree 使用方法,Visual studio 2019 中使用
  19. 【tkGo】将Excel里的图片链接替换为图片(Excel嵌入图片)
  20. 【写着玩】二维码检测及定位

热门文章

  1. 小米组织变革:新设三大部门,推进“手机X AIOT”战略落地
  2. 百度url提交入口 百度网站收录提交入口网址
  3. 哪上班 | 好工作近在咫尺
  4. 人人都是产品经理——一切从Kick Off开始
  5. 万字攻略全面了解selenium_selenium教程
  6. 字节跳动资深面试官亲述:15个经典面试问题及回答思路,知乎上转疯了!
  7. 批量查询网站收录情况的站长工具
  8. 应用泛函分析—距离空间
  9. VESA编程——GUI离我们并不遥远
  10. 4565: [Haoi2016]字符合并 区间DP