numpy.where()
根据某个特征数据(如某列),筛选,把筛选出来的数据按条件赋给新数据列,列如
import pandas as pd
import numpy as np
# 读取数据集 1分
data = pd.read_csv("xxx.csv")
# 创建新列'newcolumn',根据某列值判断生成新的列
data['newcolumn'] = np.where(data['onecolumn'] > xx, 'a', 'b')
value_couns()
查看数据表中,指定列里有多少个不同的数据值: 可以用value_couns(),它可以计算每个不同值有在该列中的个数,同时还能根据需要进行排序。
sort=True: 是否要进行排序;默认进行排序
ascending=False: 默认降序排列;
normalize=False: 是否要对计算结果进行标准化并显示标准化后的结果,默认是False。
bins=None: 可以自定义分组区间,默认是否;
dropna=True:是否删除缺失值nan,默认删除
value_counts(values,sort=True, ascending=False, normalize=False,bins=None,dropna=True)
pandas.cut()
数据分箱函数,将数据进行按给定的不同的区间值进行分类,例如:
# 使用 cut 函数将年龄分割成区间
bins = [0, 18, 35, 60, 100]
labels = ['少年', '青年', '中年', '老年']
categories = pd.cut(data['Age'], bins, labels=labels)
# 使用 cut 函数将年龄分割成区间
bins = [0, 18, 35, 60, 100, np.inf]
labels = ['少年', '青年', '中年', '老年']
categories = pd.cut(data['Age'], bins, labels=labels, right=False)
bins:分类依据的标准,可以是int、标量序列或间隔索引(IntervalIndex)
right:是否包含
bins区间的最右边,默认为True,最右边为闭区间,False则不包含 labels:要返回的标签,和bins的区间对应
data['column'].mean()
计算每组数的平均值
data['column'].unstack()
将结果转换为更易读的表格形式
data['column'].fillna()
填补缺失值
data['Value'].fillna(method='ffill', inplace=True), 使用前向填充(forward fill)方法填补缺失值(NaN),用前一个有效值填充后面的缺失值,inplace=True 表示直接修改原 DataFrame
data['Value'].fillna(method='bfill', inplace=True),使用后向填充(backward fill)方法填补剩余的缺失值,用后一个有效值填充前面的缺失值,这样可以确保所有缺失值都被填补(如果开头有缺失值,ffill 无法处理)
missing_values = data.isnull().sum()
统计缺失值,data.isnull() 检测 DataFrame 中的缺失值(NaN),返回布尔值 DataFrame
.sum() 计算每列的缺失值数量
duplicate_values = data.duplicated()
data.duplicated() 检测重复行,返回布尔值 Series
drop(columns=[...]) 删除指定列drop(columns=[...]) 删除指定列
dropna() 方法删除包含缺失值(NaN)的行
标准化公式:(原始值 - 平均值) / 标准差
data['col'] = (data['col'] - data['col'].mean()) /data['PurchaseAmount'].std()
对 col 列进行标准化(Z-score标准化, 标准化公式:(原始值 - 平均值) / 标准差
标准化是使数据均值为0,标准差为1

1219

被折叠的 条评论
为什么被折叠?



