Pandas 介绍
Pandas 是一个用于数据操作和分析的强大 Python 库,在数据科学和机器学习领域广泛使用。要有效地使用 Pandas,理解一些关键概念非常重要,如坐标轴(axis)、索引(index)、行(row)和列(column)。Pandas 处理数据非常方便,可以快速的导入数据并对数据做相应的处理。
Pandas 中的关键概念
轴(Axis): Pandas 对象(DataFrame 和 Series)有两个主要的轴。
- 轴 0(Axis 0):指的是行(也称为“索引”轴)。
- 轴 1(Axis 1):指的是列。
- 可以沿着特定的轴应用操作,如sum()、mean() 等。
#例如有下面一个 dataframe
import pandas as pd
data = {
'total': [10, 10]
}
df = pd.DataFrame(data)
df
df.sum(axis=0) # 每列的总和(默认)
df.sum(axis=1) # 每行的总和
索引(Index): 索引是唯一标识 DataFrame 中每一行中每个元素的标签。它作为行标签,提供访问行的方法。
索引可以是一维的,可以是唯一的或非唯一的。DataFrame 还可以有多级索引(MultiIndex)以进行更复杂的数据操作。
df.index # 访问 DataFrame 的索引
df.set_index('column_name') # 设置特定列为索引
行(Row):
- 行表示 DataFrame 中的单个观察值或数据点。
- 可以使用索引标签或数字索引访问行。
- 可以使用 loc[] 或 iloc[]方法对行进行操作。
import pandas as pd
data = {
'name': ['张三', '李四'],
'product': ['iPhone', 'Xiaomi'],
'total': [10, 10]
}
df = pd.DataFrame(data)
df['index'] = ['2024-05-21', '2024-05-22']
# Set the new column as the index
df.set_index('index', inplace=True)
df.loc['2024-05-21'] # 按索引标签访问第一行
df.iloc[0] # 按数字索引访问第一行
列(Column):
- 列表示 DataFrame 中的单个特征或变量。
- 可以使用列标签访问列。
- 可以选择、添加或删除列。
- 通过lambda 函数创建新列,以应对复杂的业务场景。
import pandas as pd
def combine(a, b):
return a + b
data = {
'name': ['张三', '李四'],
'product': ['iPhone', 'Xiaomi'],
'amount': [10, 10],
'price': [100, 101]
}
df = pd.DataFrame(data)
df['index'] = ['2024-05-21', '2024-05-22']
# Set the new column as the index
df.set_index('index', inplace=True)
df['name'] # 访问单个列
df[['name', 'amount']]# 访问多个列
df['total'] = df['amount'] * df['price'] # 创建新列
df.drop('total', axis=1, inplace = True) # 删除列
df['total'] = df.apply(lambda x: combine(x['name'], x['product']), axis=1) #调用方法
df