python数据框 last()_PYTHON数据框操作

本文详细介绍了Python数据框的操作,包括利用`last()`处理数据,删除和更改索引,以及数据框的合并方法如`pd.merge()`和`df.join()`。还探讨了`unstack()`、`stack()`、`melt()`和`pivot()`等转换操作,以及`Series`的`unique()`和`value_counts()`方法。
摘要由CSDN通过智能技术生成
c1d5560cf7cb8a2aca9b1952946f3dba.png
6be7d49ff2d26c820a1181d09b7fa186.png

数据框是frame,首先reset_index(drop=True),会将index删除,但frame本身默认不会变化,,reset_index参数inplace默认为False.当reset_index(drop=False)时index会被还原为1列。

53670cf0170046806ca5329b251a6c37.png

首先我们删除了index列,加上axis=1,删除全列,inplace=True,frame就地改变。

改变索引,还原为之前frame.index=['three','one'],frame索引变化。此时,frame.reset_index(drop=True,inplace=True)这一步先将index 删除,就地改变,索引还原默认0,1.2………….N。

59eabb3b109fdae06d4f87e8b22f1bb5.png

更改局部index 和列名:object.rename(index/columns={' ': ' '})

frame.rename(columns={'d':'m'},inplace=True)

Pandas之set_index()

328a19546888b0f648827e19840b8184.png

将c,d列设置为index。

1fe78ff20690b77ab0264c2edf46f2dd.png

frame.set_index(['c','d'],drop=False),drop设置为false,原来的列不被丢失。

利用reset_index()原来index被还原为列。

数据框的合并pd.merge()

cea870ff9834b42200779c5760b37041.png

Pd.merge()合并是去相同的列,默认为how='inner',可以发现这列的c,d不见了。

b713e99fdd8dbeef65a4120ecbba9543.png
9e84401c7fe883bfc030b3feb465646c.png

pd.merge(df3,df4,left_on='lkey',right_on='rkey')在数据框合并是左边使用列lkey,右边使用列rkey,默认是inner,得到的结果rkey,lkey都在结果出现,两个列是相等的。

How='left','right','inner','outer'等选择。

0710a95cf96eec1425bad6ce5f40176d.png
42402c45fbb3b30cfbab796f40bed410.png
06fb56fd02e29d60ecfa5512db2b55b4.png

pd.merge(left1,right1,left_on='key',right_index=True)左侧数据用列,右侧数据用索引,how默认inner

3758d7e04ccca4b5a5222468d1d4dceb.png

pd.merge(lefth,righth,left_on=['key1','key2'],right_index=True),左侧数据用两列进行合并。

Df.join(),数据框的合并

9de842e1c4f2a3fee6ab014609ca1bd3.png

np.concatenate(),

c24b61fe01500cc16e135ac35b78f036.png

np.concatenate([arr,arr],axis=0)用于数组的合并,axis=0行与行的对接,axis=1列与列的对接。默认axis=0

Pd.concat()

6e2873fa63a11c1ff360d17c3f2be112.png

pd.concat([obj1,obj2], axis=0/1),将合并对象放入[]中传入对象参数,axis默认是0,行与行的对接,join默认outer,与pd.merge()不同,这里参数是join

5de693a47514a67c5e7b8be005f71c39.png

Pd.merge(),key参数会根据axis=0/1,x新建index名或者column名,第一重索引,具体见【50】

Unstack()与stack()

Unstack()会将series还原为dataframe,stack()将dataframe变成series

dc921a5d4a5b436d642c750d8b75f248.png

Series对象的unique,value_counts()

ddd

21e0f2aec8e2c0cedf1f59697efd165a.png

数据框的unstack(),二重columns为列,也可指定是index name

Df.melt()

319a7f7068a6e58d42227f83b65286df.png

df.melt('key')将key作为变量的其余变量作为var的值,对应值为value的值

pivot()是其逆操作。

181f22dd8434b87c9c21fe7336a5933e.png

Pd.melt()也可以将变量值先限制为某一些,【A,B,原变量】,同样可以不指定id变量,直接传入变量值【A,B,C】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值