一、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')
网友评论