[TOC]
Series
Series是一个一维的标记数组,可以存储任何数据类型。
创建Series
1
2
3
4
5
6
7
8
9
10import pandas as pd
s = pd.Series(['a', 'b', 'c'])
print(s)
# 输出
0 a
1 b
2 c
dtype: objectSeries索引
索引是用于标识每个数据元素的标签,默认情况下pandas会创建从0开始的整数索引,可以通过index参数来指定自定义索引。
1
2
3
4
5
6
7
8s = pd.Series(['a', 'b', 'c'], index=['V1', 'V2', 'V3'])
print(s)
# 输出
V1 a
V2 b
V3 c
dtype: object常用操作
通过索引取值
1
2
3
4s = pd.Series(['a', 'b', 'c'], index=['V1', 'V2', 'V3'])
print(s['V2'])
# 输出
b
DataFrame
DataFrame是二维的表格数据结果,可以看作是Series的集合,它有行索引和列名。
创建Dataframe
1
2
3
4
5
6
7
8
9
10
11
12
13import pandas as pd
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
})
print(df)
# 输出
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago查看前N行数据
1
2
3
4
5print(df.head(2))
# 输出
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles查看最后N行数据
1
2
3
4
5print(df.tail(2))
# 输出
Name Age City
1 Bob 30 Los Angeles
2 Charlie 35 Chicago获取单列的数据(返回Series)
1
2
3
4
5
6print(df['Name'])
# 输出
0 Alice
1 Bob
2 Charlie
Name: Name, dtype: object过滤数据
df.iloc[1]
iloc基于位置取第2行的数据,输出
1
2
3
4Name Bob
Age 30
City Los Angeles
Name: 1, dtype: objectdf.iloc[1, 0]
iloc基于位置取第2行第1列的值,行与列都是从0开始计与索引和列名无关,输出
1
Bob
df.loc[1]
loc基于标签取索引为1那一行的数据,输出
1
2
3
4Name Bob
Age 30
City Los Angeles
Name: 1, dtype: objectdf.loc[1, 'Name']
loc基于标签取索引为1(默认索引是整数从0开始)那一行的Name列的值,输出
1
Bob
df.loc[df['Age'] > 25]
过滤Age列的值大于25的所有数据,输出
1
2
3Name Age City
1 Bob 30 Los Angeles
2 Charlie 35 Chicago