python之dataframe需要注意的细节

本文详细介绍使用Pandas进行数据处理的高级技巧,包括按列名分组并计算平均值而不将其设为索引、删除含有缺失值的行、设置多级索引、对数据进行归一化处理、统计特定字段出现的次数等实用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)通过as_index=False,groupby的列名'GLBDOMAIN'将不作为索引出现在结果中

         agv_1930_df=data_1930_df.groupby(['GLBDOMAIN'],as_index=False)[['EDGE_BW']].mean()

(2)按行删除存在缺失数据的行(dataframe)

         data_1930_df.dropna(axis=0,how='any',inplace=True)

(3)设置其中一列或者多列为dataframe的索引

         data_1930_df=data_1930_df.set_index('GLBDOMAIN')

         data_1930_df=data_1930_df.set_index(['GLBDOMAIN','Time'])

(4)Axis=0为行,axis=1为列,特别注意在对数据进行操作的时候要进行指定

         original_avg_1930_bw=data_1930_df.apply(lambda x:x.mean(),axis=1)

(5)更改dataframe的列名

         data_1930_df.columns=['GLBDOMAIN','2019-06-01 19:30']

(6)对dataframe的每一行分别进行归一化,先对数据进行行列转置,然后在对每一列进行归一化处理

def regularit(df):

    newDataFrame = pd.DataFrame(index=df.index)

    columns = df.columns.tolist()

    for c in columns:

        d = df[c]

        MAX = d.max()

        MIN = d.min()

        newDataFrame[c] = ((d - MIN) / (MAX - MIN)).tolist()

    return newDataFrame

##########

data_1930_df=data_1930_df.T
data_1930_df=regularit(data_1930_df)

(7)统计次数并且修改列名
peakPOP_num_df=peakPOP_df.groupby(['date','POP英文名'])[['POP英文名']].size().reset_index(name='counts')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值