记录一些与处理数据时常用的函数

DataFrame
data = [
    [1, 4, 7],
    [2, 5, 8],
    [3, 6, 9]
]
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
print(df)

每个DataFrame都有行索引和列标签。

  • 查看和检查数据
    • 查看前几行df.head(n=5)默认查看前五行;查看后几行df.tail(n=5)默认查看后5行
    • 查看列名df.columns;查看索引df.index
  • 数据选择和过滤
    • 按列选择df[‘A’]返回Series
    • 按行选择df.loc[0]按标签选择;df.iloc[0]按位置选择
  • 数据转换
    • 转换为NumPy数组array = df.values or array = df.to_numpy()
    • 转换为CSV文件df.to_csv(‘data.csv’, index=False)
pd.read_csv()

pd.read_csv()是pandas库中的函数,用于读取CSV(逗号分隔值)文件并将其转换为DataFrame对象。

import pamdas as pd

df = pd.read_csv('path_to_file.csv', header=0)
  • header:指定用作列名的行号,默认为0(即第一行);如果没有列名,可以设置为“None”。
pd.get_dummies()

pd.get_dummies()是pandas库中的函数,用于将分类变量转换为哑变量(独热编码)。

  • 分类变量:取值为有效个类别的变量。例如颜色(红色,蓝色,绿色)。这些变量通常是字符串或标签,而不是数值。
  • 哑变量:分类变量转换为了数值。
import pandas as pd

df = pd.DataFrame({'Category': ['A', 'B', 'A', 'C']})
df_encoded = pd.get_dummies(df, columns=['Category'])
label_num = df_encoded.values.argmax(1)
print(label_num)

#输出
#array([0, 1, 0, 2], dtype=int64)
  • data:输入的数据,可以是DataFrame,Serise或者其他类型数据
  • columns:指定需要进行热独编码的列。如果没有指定则对全部分类进行编码。
import numpy as np

# 独热编码矩阵示例
one_hot_labels = np.array([
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1]
])

# 使用argmax(1)得到原始分类标签
original_labels = one_hot_labels.argmax(1)
print(original_labels)  # 输出: [0, 1, 2]
argmax()

argmax()用于返回沿指定轴最大值的索引。

np.assrray()

np.asarray()是NumPy库中的一个函数,用于将输入数据转换为数组,不需要复制。

import numpy as np

list_data = [1, 2, 3, 4]
array_data = np.asarray(list_data, dtype=np.float32)
print(list_data) #输出[1. 2. 3. 4.]