Pandas库:从入门到应用(二)
创始人
2024-06-02 20:28:58
0

一、Pandas 行列数据选取

1.1、获取列数据
1.1.1、获取单列数据
import numpy as np
import pandas as pddf = pd.DataFrame(data=np.random.randint(1,151,size=(10,3)),columns=['Python','Math','Chinese'])
df[['Python']] #获取Python列数据,输出为DataFrame类型
print(type(df[['Python']])) # class 'pandas.core.frame.DataFrame'
df['Python'] #获取Python列数据,输出为Series类型
df.Python  #获取Python列数据,输出为Series类型
print(type(df['Python'])) # class 'pandas.core.series.Series'
1.1.2、获取多列数据
df[['Python','Chinese']] # 通过列索引值直接获取Python,Chinese列数据,类型是DataFrame

在这里插入图片描述

df[df.columns[0:2]]  #通过列索引的切片 来获取列,输出类型是DataFrame

在这里插入图片描述

1.2、获取行数据
1.2.1、根据索引获取行
  • 获取前三行

    df[:3]
    df[0:3] #前开后闭
    

在这里插入图片描述

  • 获取第2行到第4行

    df[1:4] #前开后闭
    

在这里插入图片描述

df['b':'d'] #通过行索引来获取

在这里插入图片描述

  • 获取特定行数据

    df[[True,False,False,True,False,False,False,False,False,False]] ## 为True显示改行数据,为Flase不显示
    

在这里插入图片描述

1.2.2、根据条件获取行
import numpy as np
import pandas as pddf = pd.DataFrame(data=np.random.randint(1,151,size=(10,3)),columns=['Python','Math','Chinese'],index=list('abcdefghij'))df[df['Python'] > 100] # 获取Python列大于100的数据

在这里插入图片描述

df[(df.Python > 100) & (df.Math > 100)] # 获取Python列和Math都大于100的数据

在这里插入图片描述

df[df.Python > df.Math ] # 获取Python列 大于 Math列的数据

在这里插入图片描述

df[df > 50]# 选择DataFrame中满⾜条件的值,如果满⾜返回值,不然返回空数据NaN

在这里插入图片描述

df[df.index.isin(['a','c','y'])] # isin判断 行索引是否存在,存在返回当前行

在这里插入图片描述

二、Pandas 区域数据选取

  • df.loc[] 只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭。
  • df.iloc[] 只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。
  • df.ix[]既可以使用标签索引,也可以使用整数索引。
2.1、标签索引获取数据
2.1.1、获取列数据
  • 获取单列数据

    import numpy as np
    import pandas as pddf = pd.DataFrame(data=np.random.randint(1,151,size=(10,3)),columns=['Python','Math','Chinese'],index=list('abcdefghij'))df.loc[:,'Python']  #选取Python 列数据
    

在这里插入图片描述

  • 获取多列数据

    df.loc[:,['Math','Chinese']] #先去Math,Chinese 两列数据
    

在这里插入图片描述

  • 获取连续列数据

    df.loc[:,'Python':'Chinese'] #先去Python到Chinese 列的全部数据
    

在这里插入图片描述

2.1.2、获取行数据
  • 获取单行数据

    import numpy as np
    import pandas as pddf = pd.DataFrame(data=np.random.randint(1,151,size=(5,3)),columns=['Python','Math','Chinese'],index=list('abcde'))df.loc['d'] #获取d行数据
    

在这里插入图片描述

  • 获取多行数据

    df.loc[['a','e']] # 获取a,e行数据
    df.loc[['a', 'e'], :] # 获取a,e行数据
    df[[True, False, False, False, True]]# 获取a,e行数据
    

在这里插入图片描述

  • 获取连续行数据
df.loc['a':'d'] #获取a-d行数据

在这里插入图片描述

  • 根据条件获取数据

    df.loc[df.Chinese > 100]  #获取Chinese分数大于100的行数
    df.loc[df.Chinese > 100 ,:]  #获取Chinese分数大于100的行数据
    

在这里插入图片描述

2.1.3、同时获取行列数据
df.loc['a':'c','Chinese'] # 选取a到c行Chinese列数据

在这里插入图片描述

2.1.4、行列数据赋值
  • 行数据赋值
import numpy as np
import pandas as pddf = pd.DataFrame(data=np.random.randint(1,151,size=(5,3)),columns=['Python','Math','Chinese'],index=list('abcde'))df.loc['a',:] = 100 ##将a行数据全部赋值为 100
df

在这里插入图片描述

df.loc[df.Python < 100] = 100 #将Python列小于100的 行赋值为100
df

在这里插入图片描述

  • 列数据赋值

    df.loc[:,'Math'] = 100 # 将Math列数据全部赋值为 100
    df
    

在这里插入图片描述

df.loc[df.Python < 100] = 100 #将Python列小于100的赋值为100
df
  • 行列数据同时赋值
df.loc[['b', 'e'], ['Python','Chinese']] = 30 ## 令b, e行的Python,Chinese列为30
df

在这里插入图片描述

2.2、位置获取数据
2.2.1、获取列数据
  • 获取单行数据

    import numpy as np
    import pandas as pddf = pd.DataFrame(data=np.random.randint(1,151,size=(5,3)),columns=['Python','Math','Chinese'],index=list('abcde'))df.iloc[1]  # 获取第二行数据 返回的是Series 数据格式
    df.iloc[1, :] # 获取第二行数据 返回的是Series 数据格式

在这里插入图片描述

df.iloc[[1]] # 获取第二行数据 返回的是dataframe 数据格式
df.iloc[[1], :] # 获取第二行数据 返回的是dataframe 数据格式

在这里插入图片描述

  • 获取多行数据
df.iloc[[1,2,4]] # 获取2,3,5行数据

在这里插入图片描述

  • 获取连续多行数据
df.iloc[1:3] #获取2-3行数据 左开右闭

在这里插入图片描述

2.2.2、获取列数据
  • 获取单列数据
df.iloc[:, 2] #获取第三列数据

在这里插入图片描述

  • 获取多列数据
df.iloc[:, [1,2]] #获取第二,三列数据

在这里插入图片描述

  • 获取连续多列数据
df.iloc[:, 0:3] #获取前三列数据 左开右闭合

在这里插入图片描述

2.2.3、同时获取行列数据
df.iloc[0,1]  #获取第一行第二列的值

在这里插入图片描述

df.iloc[[1,2],1:3]  #选取第二三行的第二到三列

在这里插入图片描述

2.2.4、行列数据赋值
df.iloc[0,1] = 150 # 第一行第二列 赋值 150

在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...