目录
1、Series
Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。
pandas.Series( data, index, dtype, name, copy)
参数说明:
- data:一组数据(ndarray 类型)。
- index:数据索引标签,如果不指定,默认从 0 开始。
- dtype:数据类型,默认会自己判断。
- name:设置名称。
- copy:拷贝数据,默认为 False。
1、使用 列表 创建 Series
import pandas as pd
students = ['Sam', 'Enzo', 'Lily']
myclass = pd.Series(students)
print(myclass)
从上图可知,如果没有指定索引,索引值就从 0 开始
2)使用 字典 创建 Series
import pandas as pd
students = {'name1':'Sam', 'name2':'Enzo', 'name3':'Lily'}
myclass = pd.Series(students, name='class')
print(myclass)
从上图可知,字典的 key 变成了索引值
如果只需要字典中的一部分数据,通过 index 指定就好了
import pandas as pd
students = {'name1':'Sam', 'name2':'Enzo', 'name3':'Lily'}
myclass = pd.Series(students, index=['name1', 'name3'], name='class')
print(myclass)
3)创建 Series,指定索引和名称
import pandas as pd
students = ['Sam', 'Enzo', 'Lily']
index = ['name1', 'name2', 'name3']
myclass = pd.Series(students, index=index, name='class')
print(myclass)
4)使用 索引 读取数据
import pandas as pd
students = ['Sam', 'Enzo', 'Lily']
index = ['name1', 'name2', 'name3']
myclass = pd.Series(students, index=index, name='class')
print(myclass['name2'])
print(myclass[1:3])
2、DaraFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 拼接而成
pandas.DataFrame( data, index, columns, dtype, copy)
参数说明:
- data:一组数据(ndarray、series, map, lists, dict 等类型)。
- index:索引值,或者可以称为行标签。
- columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
- dtype:数据类型。
- copy:拷贝数据,默认为 False。
1)使用 列表 创建 DataFrame
import pandas as pd
data = [['Google',10],
['Runoob',12],
['Wiki',13]]
df = pd.DataFrame(data,columns=['Site','Age'])
print(df)
2)使用 字典 创建 DataFrame
写法一:
import pandas as pd
data = {'Site':['Google', 'Runoob', 'Wiki'],
'Age':[10, 12, 13]}
df = pd.DataFrame(data)
print (df)
写法二:
import pandas as pd
data = [{'Site': 'Google'},{'Site': 'Runoob', 'Age': 12}]
df = pd.DataFrame(data)
print (df)
3)创建 DataFrame 时,指定索引
import pandas as pd
data = {'calories':[420, 380, 390],
"duration":[50, 40, 45]}
df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
print(df)
4)使用 loc 读取指定行的数据
import pandas as pd
data = {'calories':[420, 380, 390],
"duration":[50, 40, 45]}
df = pd.DataFrame(data)
print(df.loc[0])
print('\n')
print(df.loc[2])
注意:返回结果其实就是一个 Pandas Series 数据。
也可以一次读取多行数据,注意是使用 [[ … ]] 格式,不是 [… ]
import pandas as pd
data = {'calories':[420, 380, 390], "duration":[50, 40, 45]}
df = pd.DataFrame(data)
print(df.loc[[0, 2]])
自定义索引时,使用 loc 指定索引值,读取对应的行
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
print(df.loc["day1"])
print('\n')
print(df.loc[["day1", "day3"]])