数据处理笔记

数据处理笔记

pandas处理数据

  1. pd.reset_index()
    重置index索引并不删除空行,当DataFrame或Series类型的数据不是连续的索引或索引的输运不对,可以使用reset_index()重置索引。
    DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
    drop = True 表示不保留原来的索引,即删除原来的索引,只保留新的索引
    inplace=True 表示对原表生效
    示例:df.reset_index(drop=True,inplace=True) #
    相关语法:set_index

  2. pd.dropna() 删除空值,即删除包含nan(空值)
    DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
    参数说明:

    axis default 0指行,1为列
    how {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的行
    thresh int,保留含有int个非空值的行
    subset 对特定的列进行缺失值删除处理
    inplace 这个很常见,True表示就地更改

    示例:df.dropna()

  3. df.rename() 重新命名列名
    rename方法作用: 复制 DataFrame并对其索引index和列标签columns进行赋值。如果希望就地修改某个数据集,传入inplace=True即可
    示例:df.rename(columns={averageName:'average'},inplace=True)

  4. df.mean()
    Pandas中的df.mean()函数默认是等价于df.mean(0),即按轴方向求平均,得到每列数据的平均值。
    示例:df['average'].mean()求某一列的平均值

  5. df.shift(periods=1, freq=None, axis=0) 移动
    periods:类型为int,表示移动的幅度,可以是正数,也可以是负数,默认值是1,1就表示移动一次,注意这里移动的都是数据,而索引是不移动的,移动之后没有对应值的,就赋值为NaN。
    freq: DateOffset, timedelta, or time rule string,可选参数,默认值为None,只适用于时间序列,如果这个参数存在,那么会按照参数值移动时间索引,而数据值没有发生变化。
    示例:df1.shift(periods=1,freq=datetime.timedelta(1))

  6. pd[‘列名’].values 获取值
    取到的是该列对应的函数值
    示例:df['diff_1'].values

  7. df.loc[] 区域选取
     区域选取可以从多个维度(行和列)对数据进行筛选,可以通过df.loc[],df.iloc[],df.ix[]三种方法实现。采用df.loc[],df.iloc[],df.ix[]这三种方法进行数据选取时,方括号内必须有两个参数,第一个参数是对行的筛选条件,第二个参数是对列的筛选条件,两个参数用逗号隔开。df.loc[],df.iloc[],df.ix[]的区别如下:
    df.loc[]只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭。
    df.iloc[]只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。
    df.ix[]既可以使用标签索引,也可以使用整数索引。
    示例:df.loc['a', :] df.loc['a':'d', :] df.loc[df['age']>30,:] df.loc[lambda df:df['age'] > 30, :] df.loc[:, 'name'] df.iloc[1, :] df.loc[:,'Day'] = df['TimeStamp']

  8. np.unique()
    unique()是以 数组形式(numpy.ndarray)返回列的所有唯一值

  9. df.columns 修改列名
    示例:df.columns=['Day']

  10. df.groupby()功能:分组
    groupby + agg(聚集函数们): 分组后,对各组应用一些函数,如’sum’,‘mean’,‘max’,‘min’…
    示例:df.groupby('Day')[feature].agg(函数名) 如:‘sum’、'mean’等

  11. pd.merge() 合并Dataframe
    pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True,suffixes=('_x', '_y'), copy=True, indicator=False, validate=None

    left: 拼接的左侧DataFrame对象 right: 拼接的右侧DataFrame对象
    on: 要加入的列或索引级别名称。必须在左侧和右侧DataFrame对象中找到。 如果未传递left_index和right_index为False,则DataFrame中的列的交集将被推断为连接键。
    left_on:左侧DataFrame中的列或索引级别用作键。 可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。
    right_on: 左侧DataFrame中的列或索引级别用作键。
    可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。 left_index:
    如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。
    对于具有MultiIndex(分层)的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。
    right_index: 与left_index功能相似。
    how: One of ‘left’, ‘right’,‘outer’, ‘inner’. 默认inner。inner是取交集,outer取并

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值