from pandas import Series emp = ['001','002','003'] name = ['王者','青铜','黑铁'] se = Series(data=name,index=emp) print(se) print(se.values)
运行结果:
001 王者 002 青铜 003 黑铁 dtype: object ['王者' '青铜' '黑铁']
values获取数据的值,返回list类型
1.2 indexprint(se.index)
运行结果:
Index(['001', '002', '003'], dtype='object')
index获取索引的值,返回index类型
to_list进行转换成列表
print(se.index.to_list())
运行结果:
['001', '002', '003']1.3 items
print(se.items())
运行结果:
items获取每对索引和值,返回zip类型
使用list()转换成列表
print(list(se.items()))
运行结果:
[('001', '王者'), ('002', '青铜'), ('003', '黑铁')]
1.4 使用下标取值
1.4.1 标签索引下标
print(se[['001','003']])
运行结果:
001 王者 003 黑铁 dtype: object1.4.2 位置索引下标
print(se[[0,2]])
运行结果:
001 王者 003 黑铁 dtype: object1.5 使用切片取值 1.5.1 标签索引切片
切片的语法:
[起始位置:结束位置:步长]
print(se['002':'003'])
运行结果:
002 青铜 003 黑铁 dtype: object1.5.2 位置索引切片
print(se[1:3])
运行结果:
002 青铜 003 黑铁 dtype: object1.6 遍历 1.6.1 遍历值
for value in se:
print(value)
运行结果:
王者 青铜 黑铁1.6.2 遍历索引
for value in se.keys():
print(value)
运行结果:
001 002 0031.6.3 遍历每对索引和值
for value in se.items():
print(value)
运行结果:
('001', '王者')
('002', '青铜')
('003', '黑铁')
2. Dataframe的取值
from pandas import Dataframe
dic = {
'name':['张三','李四','王五','赵六'],
'age':[10,20,30,40],
'action':['衣','食','住','行']
}
df = Dataframe(data=dic,index=['A','B','C','D'])
print(df)
运行结果:
name age action A 张三 10 衣 B 李四 20 食 C 王五 30 住 D 赵六 40 行2.1 查询维度
print(df.ndim)
运行结果:
22.2 获取行数与列数
print(df.shape)
运行结果:
(4, 3)2.3 获取行索引列表
print(df.index.to_list())
运行结果:
['A', 'B', 'C', 'D']2.4 获取前几行和后几行
print(df.head(3)) print(df.tail(3))
运行结果:
name age action A 张三 10 衣 B 李四 20 食 C 王五 30 住 name age action B 李四 20 食 C 王五 30 住 D 赵六 40 行2.5 获取列索引列表
print(df.columns.to_list())
运行结果:
['name', 'age', 'action']2.6 切片(和Series差不多,这里只随便举点例子) 2.6.1 获取多行
print(df[1:3])
运行结果:
name age action B 李四 20 食 C 王五 30 住2.6.2 获取多列
print(df[['name','action']])
运行结果:
name action A 张三 衣 B 李四 食 C 王五 住 D 赵六 行
获取单列
print(df['action'])
运行结果:
A 衣 B 食 C 住 D 行 Name: action, dtype: object
以此类推,获取多行多列
df[1:3][['name','action']]
这里不再赘述
print(df.loc['C','name'])
运行结果:
王五2.7.2 某一行多列
print(df.loc['D',['age','action']]) print(df.loc['D'])
运行结果:
age 40 action 行 Name: D, dtype: object name 赵六 age 40 action 行 Name: D, dtype: object2.7.3 有间隔的多行多列
print(df.loc[['B','D'],['name','action']])
运行结果:
name action B 李四 食 D 赵六 行2.7.4 连续的多行多列
print(df.loc['A':'C','name':'age'])
运行结果:
name age A 张三 10 B 李四 20 C 王五 302.8 位置索引筛选 2.8.1 单行筛选
print(df.iloc[2])
运行结果:
name 王五 age 30 action 住 Name: C, dtype: object2.8.2 间断筛选
print(df.iloc[[1,3]])
运行结果:
name age action B 李四 20 食 D 赵六 40 行2.8.3 连续筛选
print(df.iloc[1:4])
运行结果:
name age action B 李四 20 食 C 王五 30 住 D 赵六 40 行2.9 遍历 2.9.1 按行遍历,将Dataframe的每一行转化为(index,Series)对
for data in df.iterrows():
print(data)
for index,row_data in df.iterrows():
print(index)
for index,row_data in df.iterrows():
print(row_data)
运行结果:
('A', name 张三
age 10
action 衣
Name: A, dtype: object)
('B', name 李四
age 20
action 食
Name: B, dtype: object)
('C', name 王五
age 30
action 住
Name: C, dtype: object)
('D', name 赵六
age 40
action 行
Name: D, dtype: object)
A
B
C
D
name 张三
age 10
action 衣
Name: A, dtype: object
name 李四
age 20
action 食
Name: B, dtype: object
name 王五
age 30
action 住
Name: C, dtype: object
name 赵六
age 40
action 行
Name: D, dtype: object
2.9.1 按列遍历,将Dataframe的每一行转化为(column,Series)对
for data in df.iterrows():
print(data)
for column,col_data in df.iteritems():
print(column)
for column,col_data in df.iteritems():
print(col_data)
运行结果:
('A', name 张三
age 10
action 衣
Name: A, dtype: object)
('B', name 李四
age 20
action 食
Name: B, dtype: object)
('C', name 王五
age 30
action 住
Name: C, dtype: object)
('D', name 赵六
age 40
action 行
Name: D, dtype: object)
name
age
action
A 张三
B 李四
C 王五
D 赵六
Name: name, dtype: object
A 10
B 20
C 30
D 40
Name: age, dtype: int64
A 衣
B 食
C 住
D 行
Name: action, dtype: object



