pandas的增删改查和分区分桶

#读取文件
temp = pd.read_excel(r'E:\ETL_soft\python\bool.xlsx')
#返回几行数据记录
temp[:6]

#新生成一列
temp['tip_pct']=temp['tip']/temp['total_bill']
temp[:6]

#根据分组选出最高的5个tip_pct值
def top(temp,n=5,column='tip_pct'):
    return temp.sort_index(by=column)[-n:]
top(temp,n=6)

#根据分组选出最高的5个tip_pct值
def top(temp,n=5,column='tip_pct'):
    return temp.sort_values(by=column)[:n]
top(temp,n=6)
#分组应用top函数
temp.groupby('smoker').apply(top)

#排序,按照某个字段
attr = temp.sort_values(by=['tip','total_bill'],ascending=False)
print(attr)

#创建字段,用eval函数
df.eval('new = 气温 + 湿度',inplace = True)
df
#查询对应的数据集
df.query('气温 > 30')
df

#多组分区
df.eval('''
            new4 = 1 + 湿度
            new5 = 气温 + 湿度
            new6 = 气温/湿度''',inplace = True)
df


#删除对应的列名
df.drop(df.columns[x], axis=1, inplace=True)

#变量grouped是一个GroupBy对象,它实际上还没有进行任何计算,
#只是含有一些有关分组键df['values1']的中间数据而已,
#然后我们可以调用GroupBy的mean方法来计算分组平均值:
grouped = demos['values1'].groupby(demos['key1'])
grouped
grouped.mean()

#values1值和平均值按照key1,key2进行分组计算
means = demos['values1'].groupby([demos['key1'], demos['key2']]).mean()
means

#通过两个键对数据进行了分组,得到的Series具有一个层次化索引(由唯一的键对组成):
means.unstack()

#分组键中的任何缺失值都会被排除在结果之外
demos.groupby(['key1', 'key2']).size()

#遍历成字段
for name, group in demos.groupby('key1'):
    print(name)
    print(group)
#制造随机数
frame=pd.DataFrame({'data1':np.random.randn(1000),
                   'data2': np.random.randn(1000)})
#frame[:5]
frame.head()

#分区分桶
#长度相等的桶:区间大小相等 cut
#大小相等的桶:数据点数量相等qcut
#将数据frame数据表中字段为data1切分成4等分,传给了factor
factor=pd.cut(frame.data1,4)
#返回的是对应的数据在哪个区间
factor[:10]

#分成对应的区间后,对应的值返回
#get_stats函数里面是形参
def get_stats(group1):
    return {'min':group1.min(),'max':group1.max(),'count':group1.count(),'mean':group1.mean()}
grouped=frame.data2.groupby(factor)
#调用函数的才是grouped为实参
grouped.apply(get_stats).unstack()

factor=pd.qcut(frame.data1,4)
factor[:10]

grouping=pd.qcut(frame.data1,10,labels=False)#label=false即可只获取分位数的编号
grouped=frame.data2.groupby(grouping)
grouped.apply(get_stats).unstack()

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas是一个专门用于数据析任务的Python库。它提供了DataFrame数据结构,可以进行数据的增、删、改、查操作。要进行增加数据的操作,我们可以使用DataFrame的各种方法,例如df.loc或df.iloc来定位要修改的数据位置。通过修改行索引和列索引,我们可以对DataFrame中的元素、整列或整行进行修改。例如,使用df.iloc[row_index, column_index可以修改某一个元素、整列或整行的值。可以获取指定位置的元素。另外,我们还可以使用各种条件语句来筛选出满足特定条件的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python3 Pandas的DataFrame数据的增、删、改、查](https://blog.csdn.net/weixin_30555753/article/details/96961868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [pandas的增删查改](https://blog.csdn.net/weixin_44623587/article/details/126070839)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值