Pandas 数据结构

时间:2022-07-22
本文章向大家介绍Pandas 数据结构,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、Series 数据结构

1.是什么?

Series 是一种类似于一维数组的对象,由一组数据及一组数据标签(即索引)组成。 第一列是 数据标签(索引);第二列是 具体数据

2.为什么?

3.怎么做?

导包: import pandas as pd

(1)创建一个Series:使用 Series()方法

1)传入一个列表list:

只传入一个列表不指定数据标签,那么 Series会默认使用从0开始的数作为数据标签(索引)。

import pandas as pd

s1 = pd.Series(['w','s','q'])
print(s1)
指定索引:index 参数

只传入一个列表会使用默认索引,可通过 index 参数来自定义索引。

import pandas as pd

s2 = pd.Series(['w','s','q'],index = [1,2,3])
print(s2)
2)传入一个字典dict:

字典的key值就是数据标签(索引),value就是数据。

import pandas as pd

s3 = pd.Series({'a':1 , 'b':2 , 'c':3 })
print(s3)

(2)获取 Series的索引:使用 index 属性

s4 = pd.Series({'a':1 , 'b':2 , 'c':3 })

s4.index

(3)获取 Series的值:使用 values 属性

s4.values

二、DataFrame 表格型数据结构

1.是什么?

DataFrame 是由一组数据一对索引(行索引、列索引)组成的表格型数据结构。 叫它表格型数据结构是因为,DataFrame 的数据形式和 Excel 的数据存储形式相近,既有行索引,又有列索引,由行索引和列索引确定唯一值。

2.为什么?

3.怎么做?

(1)创建一个 DataFrame

1)传入一个列表list:

只传入一个单一列表时,该列表的值会显示成一列,且行和列都是从0开始的默认索引。

import pandas as pd

df1 = pd.DataFrame(['a','b','c'])
df1
2)传入一个嵌套列表list:

当传入一个嵌套列表时,会根据嵌套列表数显示成多行数据,嵌套列表中元素个数显示成多列数据。 行和列都是从0开始的默认索引。

df2 = pd.DataFrame([ ['a','A'],['b','B'],['c','C'] ] )
df2

列表里面嵌套的列表也可以换成元组

df2 = pd.DataFrame([ ('a','A'),('b','B'),('c','C') ] )
df2
3)指定行、列索引:index,columns

只给 DataFrame()方法传入列表,行、列索引都是从0开始的默认值。 可通过设置 index 参数 自定义行索引 ,设置 columns 参数自定义列索引

#设置行索引
df3 = pd.DataFrame([ ['a','A'],['b','B'],['c','C'] ],index=['1行','2行','3行'])
df3

#设置列索引
df4 = pd.DataFrame([ ['a','A'],['b','B'],['c','C'] ],columns=['1列','2列'])
df4

#行列同时设置
df5 = pd.DataFrame([ ['a','A'],['b','B'],['c','C'] ],columns=['1列','2列'],index=['1行','2                                                                             行','3行'])
df5
4)传入一个字典dict:

直接以字典传入DataFrame时,字典的key值就相当于列索引,若未设置行索引,默认从0开始索引。 同样可以使用 index参数自定义行索引

df6 = pd.DataFrame({'小写':['a','b','c'],'大写':['A','B','C'] })
df6

#用 index参数自定义行索引 
df7 = pd.DataFrame({'小写':['a','b','c'],'大写':['A','B','C'] },index=['1行','2行','3行'])
df7

(2)获取 DataFrame的行索引、列索引

1)获取行索引:使用 index属性
df8 = pd.DataFrame([[1,2,3],[4,5,6]],index=['1行','2行'],columns=['1列','2列','3列'])

df8.index
Index(['1行', '2行'], dtype='object')
2)获取列索引:使用 columns属性
df9 = pd.DataFrame({'1列':['a','b'],'2列':['c','d']})

df8.columns
Index(['1列', '2列'], dtype='object')