1. Pandas数据结构
1.1 Series数据结构
1.1.1 定义
Series是一种类似于一维数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成
1.1.2 创建Series
1.1.2.1 传入一个列表
import pandas as pd
S1 = pd.Series(["a", "b", "c", "d"])
结果:
注:
- 如果只是传入一个列表不指定标签,那么Series会默认使用从0开始的数做数据标签
- 直接传入一个列表会使用默认索引,也可以通过index参数来自定义索引
import pandas as pd
S2 = pd.Series(["1", "2", "3", "4"], index = ["a", "b", "c", "d"])
结果:
1.1.2.2 传入一个字典
也可以将数据与数据标签以key:value的形式传入,这样字典的key值就是数据标签,value就是数据值
import pandas as pd
S3 = pd.Series({"a":1, "b":2, "c":3, "d":4})
结果:
1.1.2.3 利用index方法获取索引值
直接利用index方法就可以获取Series的索引值
S1.index
S3.index
结果
1.1.2.4 利用values方法获取Series的值
S1.values
S3.values
结果:
1.2 DataFrame表格型数据结构
1.2.1 DataFrame定义
Series是由一组数据与一组索引(行索引)组成的数据结构,而DataFrame是由一组数据和一对索引(行索引和列索引)组成的表格型数据结构。
1.2.2 DataFrame创建
1.2.2.1 传入一个列表
import pandas as pd
df1 = pd.DataFrame(["a", "b", "c", "d"])
结果:
注:
只传入一个单一列表时,该列表的值就会显示成一列,且行和列都是从零开始的默认索引
1.2.2.2 传入一个嵌套列表
import pandas as pd
df2 = pd.DataFrame([["a","A"],["b","B"],["c","C"],["d","D"]])
结果:
注:
当传入一个嵌套列表时,会根据嵌套列表数显示成多列数据,行、列索引同样是从零开始的默认索引。列表里面嵌套的列表也可以换成元组
import pandas as pd
df2 = pd.DataFrame([("a","A"),("b","B"),("c", "C"),("d", "D")])
结果:
1.2.2.3 指定行、列索引
如果只给DataFrame()方法传入列表,DataFrame()方法的行、列索引都是默认值,则可以通过设置columns参数自定义列索引,设置index参数自定义行索引
import pandas as pd
df3 = pd.DataFrame([("a","A"),("b","B"),("c", "C"),("d", "D")], columns=["小写","大写"], index=["一","二","三","四"])
结果:
1.2.2.4 传入一个字典
直接以字典的形式传入DataFrame时,字典的key值就相当于列索引,这个时候如果还没有设置行索引,行索引还是使用从零开始的默认索引,同样可以使用index参数自定义行索引
import pandas as pd
data = {"小写":["a","b","c","d"],"大写":["A","B","C","D"]}
df4 = pd.DataFrame(data, index=["一","二","三","四"])
结果:
1.2.3 获取DataFrame的行、列索引
1、利用columns方法获取DataFrame的列索引
df3.columns
2、利用index方法获取DataFrame的行索引
df4.index