Pandas数据结构
Series数据结构
Series是什么
Series是一种类似于一维数组的对象, 由一组数据及一组与之相关的索引 组成。
创建一个Series
创建一个Series利用的方法是pd.Series(), 通过给Series()方法传入不同的对象即可实现。 传入一个列表
import pandas as pd
S1 =pd.Series(['a','b','c'])
print(S1)
#0 a
#1 b
#2 c
指定索引 直接传入一个列表会使用默认索引, 也可以通过设置index参数来 自定义索引。
import pandas as pd
S1 =pd.Series([1,2,3,4],index = ['a','b','c','d'])
print(S1)
利用index方法获取Series的索引
直接利用 index 方法就可以获取 Series的索引值。
import pandas as pd
S1 =pd.Series(['a','b','c'])
print(S1.index)
S2 =pd.Series([1,2,3,4],index = ['a','b','c','d'])
print(S2.index)
#RangeIndex(start=0, stop=3, step=1)
#Index(['a', 'b', 'c', 'd'], dtype='object')
利用values方法获取Series的值
与索引值对应的就是获取Series的值, 使用的方法是values方法。
import pandas as pd
S1 =pd.Series(['a','b','c'])
print(S1.values)
S2 =pd.Series([1,2,3,4],index = ['a','b','c','d'])
print(S2.values)
DataFrame 表格型数据结构
Series是由一组数据与一组索引( 行索引) 组成的数据结构,
DataFrame是由一组数据与一对索引( 行索引和列索引) 组成的表格型数据结构。
下面就是一个简单的DataFrame数据结构。
之所以叫表格型数据结构, 是因为DataFrame的数据形式和Excel的数据存储形式很相近 。
创建一个DataFrame
创建DataFrame使用的方法是pd.DataFrame(), 通过给DataFrame()方法传入不同的对象(列表)即可实现。
import pandas as pd
df1 =pd.DataFrame(['a','b','c','d'])
print(df1)
只传入一个单一列表时, 该列表的值会显示成一列, 且行和列都是从0开始的默认索引。 传入一个嵌套列表
import pandas as pd
# df1 =pd.DataFrame(['a','b','c','d'])
# print(df1)
df2 =pd.DataFrame([['a','A'],['b','B'],['c','C'],['d','D']])
print(df2)
当传入一个嵌套列表时, 会根据嵌套列表数显示成多列数据, 行、列索引同样是从0开始的默认索引。 列表里面嵌套的列表也可以换成元组。
import pandas as pd
# df2 =pd.DataFrame([['a','A'],['b','B'],['c','C'],['d','D']])
# print(df2)
df2 =pd.DataFrame([('a','A'),('b','B'),('c','C'),('d','D')])
print(df2)
指定行、 列索引
给DataFrame()方法传入列表,可以通过设置columns参数自定义列索引, 设置index参数自定义行索引。
import pandas as pd
# df2 =pd.DataFrame([('a','A'),('b','B'),('c','C'),('d','D')])
# print(df2)
df33 =pd.DataFrame([('a','A'),('b','B'),('c','C'),('d','D')],
columns= ["小写","大写"],
index=["一","二","三","四"]
)
print(df33)
传入一个字典
传入一个字典的实现如下所示。
import pandas as pd
# df33 =pd.DataFrame([('a','A'),('b','B'),('c','C'),('d','D')],
# columns= ["小写","大写"],
# index=["一","二","三","四"]
# )
# print(df33)
data = {"小写":['a','b','c','d'],"大写":['A','B','C','D']}
df41 = pd.DataFrame(data)
print(df41)
直接以字典的形式传入DataFrame时, 字典的key值就相当于列索引, 这个时候如果没有设置行索引, 行索引还是使用从0开始的默认索引,
同样可以使用index参数自定义行索引。
获取DataFrame的行、 列索引
利用columns方法获取DataFrame的列索引。
利用index方法获取DataFrame的行索引。
import pandas as pd
df2 =pd.DataFrame([('a','A'),('b','B'),('c','C'),('d','D')])
# print(df2)
df33 =pd.DataFrame([('a','A'),('b','B'),('c','C'),('d','D')],
columns= ["小写","大写"],
index=["一","二","三","四"]
)
# print(df33)
print(df2.columns)
print(df33.index)
获取DataFrame的值
获取DataFrame的值就是获取DataFrame中的某些行或列, 有关行、列的选择在第6章会有详细讲解。