美文网首页
pandas dataframe中的数据选择1

pandas dataframe中的数据选择1

作者: 筝韵徽 | 来源:发表于2019-01-04 18:25 被阅读107次
import pandas as pd
import numpy as np

使用[], loc ,iloc 选择数据

先看看 DataFrame 组成有哪些 ,如下:


df=pd.read_csv('data/sample_data.csv',index_col=0)
df
image.png
index = df.index
columns = df.columns
values = df.values
index
Index(['Jane', 'Niko', 'Aaron', 'Penelope', 'Dean', 'Christina', 'Cornelia'], dtype='object')
columns
Index(['state', 'color', 'food', 'age', 'height', 'score'], dtype='object')
values
array([['NY', 'blue', 'Steak', 30, 165, 4.6],
       ['TX', 'green', 'Lamb', 2, 70, 8.3],
       ['FL', 'red', 'Mango', 12, 120, 9.0],
       ['AL', 'white', 'Apple', 4, 80, 3.3],
       ['AK', 'gray', 'Cheese', 32, 180, 1.8],
       ['TX', 'black', 'Melon', 33, 172, 9.5],
       ['TX', 'red', 'Beans', 69, 150, 2.2]], dtype=object)
type(index)
pandas.core.indexes.base.Index
type(columns)
pandas.core.indexes.base.Index
type(values)
numpy.ndarray

DataFrame 有index -行索引,columns-列索引,values-数据(数组)组成。pandas 基于numpy库

从DataFrame 每个列都是以Series 类型返回

df['food']
Jane          Steak
Niko           Lamb
Aaron         Mango
Penelope      Apple
Dean         Cheese
Christina     Melon
Cornelia      Beans
Name: food, dtype: object
type(df['food'])
pandas.core.series.Series
s=df['food']
s.index
Index(['Jane', 'Niko', 'Aaron', 'Penelope', 'Dean', 'Christina', 'Cornelia'], dtype='object')
s.values
array(['Steak', 'Lamb', 'Mango', 'Apple', 'Cheese', 'Melon', 'Beans'],
      dtype=object)

Series 左边是Index与其对应DataFrame的index一致,右边是数据

注意:df['food'] 返回的Series 类型 df[['food']]返回的是DataFrame类型

dd= df[['food']]
type(dd)
pandas.core.frame.DataFrame

选择多个列

df[['food','color','score']]
![ image.png

关注一下返回来的列的显示顺序

总结

  1. 以上是根据列名字作为key 索引,选择列
  2. df['food'] 以series 类型返回单列数据,df[['food']] 以DataFrame形式返回单列数据
  3. 多选列 df[['food','color']]
  4. 当然可以以df['Jane'] 返回行,但是尽量不这么用,因为会造成迷惑,不知道是选择的列还是行。

.loc 选择行,列

row = df.loc['Jane']
row
state        NY
color      blue
food      Steak
age          30
height      165
score       4.6
Name: Jane, dtype: object
type(row)
pandas.core.series.Series

以series返回单行,其中左边index为源DataFrame列名,右边为数据

选择则多行 以DataFrame形式返回

df.loc[['Jane','Niko']]
image.png

选择从Niko到Dean 这个范围的数据

df.loc['Niko':'Dean']
image.png
df
image.png
df.loc['Jane':'Cornelia':2]
image.png

上一例是带步长的切片选择
注意这个切片闭区间,包括最后Cornelia
对比python切片,python 中切片是[),前闭后开区间

em=[1,2,3,4]
em[0:3]
[1, 2, 3]

相关文章

  • 文科生学Python系列9: Pandas入门

    第五课内容:Pandas入门 pandas DataFrame(数据框)pandas Series数据的选择案例:...

  • pandas dataframe中的数据选择1

    使用[], loc ,iloc 选择数据 先看看 DataFrame 组成有哪些 ,如下: DataFrame 有...

  • Pandas学习笔记

    pandas笔记 插入pandas 创建序列 创建dataframe 选择数据 设置值 处理丢失数据 导入导出数据...

  • 第三方库-Pandas-基础

    1 DataFrame: Python Pandas - DataFrame pandas.DataFrame

  • Python学习笔记--pandas

    import pandas as pd 1、通过字典创建数据框DataFrame import pandas as...

  • 03. Pandas数据结构

    [toc] 03. Pandas数据结构 Series DataFrame 从DataFrame中查询出Serie...

  • 2020-02-12

    Pandas笔记之创建 Pandas DataFrame DataFrame为Pandas的第二种主要数据结构,是...

  • Pandas

    Pandas的数据结构 pandas 中使用Series和DataFrame对象存储数据 Series 1.什么是...

  • 2019-02-23

    Pandas 1 熟悉并掌握Pandas中DataFrame和Series两大数据结构 2掌握数据索引的三种方式 ...

  • 分析伯乐在线文章数据

    一、读取文章数据 pandas读取mysql数据到DataFrame中 二、数据分析 1. 查看数据 df.inf...

网友评论

      本文标题:pandas dataframe中的数据选择1

      本文链接:https://www.haomeiwen.com/subject/rbmkrqtx.html