Pandas的Series
和DataFrame
是两个核心数据结构,提供了丰富的操作方法来处理行、列和单元格。下面将详细介绍如何使用Pandas进行这些操作。
1. Series操作
Series
是Pandas中的一维数组,带有标签(索引)。可以对Series
进行多种操作,包括索引、切片、过滤等。
1.1 创建Series
import pandas as pd
# 创建一个Series
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)
输出:
a 1
b 3
c 5
d 7
e 9
dtype: int64
1.2 索引和切片
# 通过标签索引
print(s['a']) # 输出: 1
# 通过位置索引
print(s[0]) # 输出: 1
# 切片
print(s['a':'c']) # 输出: a 1, b 3, c 5
print(s[0:2]) # 输出: a 1, b 3
1.3 过滤
# 过滤大于5的值
print(s[s > 5]) # 输出: d 7, e 9
2. DataFrame操作
DataFrame
是Pandas的二维表格数据结构,可以看作是Series的容器。可以对DataFrame
进行行、列和单元格的操作。
2.1 创建DataFrame
import pandas as pd
# 创建一个DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [24, 27, 22, 32],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
print(df)
输出:
Name Age City
0 Alice 24 New York
1 Bob 27 Los Angeles
2 Charlie 22 Chicago
3 David 32 Houston
2.2 列操作
# 选择一列
print(df['Name'])
# 选择多列
print(df[['Name', 'City']])
# 添加新列
df['Salary'] = [75000, 80000, 70000, 90000]
print(df)
# 删除列
df = df.drop(columns=['Salary'])
print(df)
2.3 行操作
# 选择一行(通过位置)
print(df.iloc[0])
# 选择一行(通过标签)
print(df.loc[0])
# 选择多行
print(df[0:2])
# 添加新行(需要逐行添加)
new_row = pd.Series({'Name': 'Eve', 'Age': 29, 'City': 'San Francisco'})
df = df.append(new_row, ignore_index=True)
print(df)
# 删除行
df = df.drop(index=[4])
print(df)
2.4 单元格操作
# 选择一个单元格(通过位置)
print(df.iloc[0, 0]) # 输出: Alice
# 选择一个单元格(通过标签)
print(df.loc[0, 'Name']) # 输出: Alice
# 修改单元格值
df.loc[0, 'Age'] = 25
print(df)