前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas、numpy功能整理,包括机器学习的部分库

pandas、numpy功能整理,包括机器学习的部分库

作者头像
一个有趣的灵魂W
发布2020-09-15 15:02:31
5550
发布2020-09-15 15:02:31
举报

Pandas:

删除:1按列名

代码语言:javascript
复制
dfarr1=dfarr.drop(dfarr[dfarr.pointxy=='长泰县长泰一中'].index)

删除dfarr.pointxy字段=='长泰县长泰一中'的值

删除的时候也可以这么写:

代码语言:javascript
复制
dfarr1=dfarr.drop(dfarr[dfarr['pointxy']=='长泰县长泰一中'].index)

2 按列序号

代码语言:javascript
复制
nmovetif=movetif.drop(movetif[movetif.iloc[:,0]==0].index)

删除列

代码语言:javascript
复制
test_dict_df.drop(['id'],axis=1)

批量删除

代码语言:javascript
复制
ak3.drop(ak3.columns[22:], axis=1, inplace=True)

ak3.drop(ak3.columns[[0,2,3,5,6]], axis=1, inplace=True)

同时:

代码语言:javascript
复制
a.drop(a[(a['a']==b['a'][0]) & (a['b']==b['b'][0])].index)
t3.columns=['k']#命名列的名字
t1=t1.rename(columns={'风速(m/s)':'fs'})#修改名字

调换列的顺序

代码语言:javascript
复制
a=pd.Dataframe(plarr)
b=['pm','lon','lat','qy','wd','sd','fs','t7','t8','t9','t10','t11','t12','t13','t14','t15','t16','t17','t18','t19','t20','t21','t22','t23','t24','t25']
a=a[b]
#按行求和
df['row_sum'] = df.apply(lambda x: x.sum(), axis=1)


#按列求和
df.loc['col_sum'] = df.apply(lambda x: x.sum())

pandas 合并

取数据框中部分数据合并

代码语言:javascript
复制
df1=pd.DataFrame({'a1':[1,2,3],'a2':[4,5,6]})
df2=pd.DataFrame({'a1':[7,2,3],'a2':[4,5,7]})
df3=pd.concat([df1,df2['a2']],axis=1)

merge方法:左连接、右连接,是不是和数据库的合并(join)相似

applymap()

eval()

列提取,第一列

代码语言:javascript
复制
ak2.loc[:,['Site_Latitude(Degrees)','Site_Longitude(Degrees)']]

也可以这么写,用列的名字指代列的顺序

代码语言:javascript
复制
df.iloc[i,j]###按位置取数据

按列名提取数据

a['Time(hh:mm:ss)'],其中引号内的信息可以自动填补

重新排列索引

代码语言:javascript
复制
df1.reset_index(drop=True, inplace=True)

选取特定行

代码语言:javascript
复制
temp=aodnet[aodnet['AERONET_Site_Name'].isin(['Beijing'])]
temp=aodnet[aodnet.AERONET_Site_Name=='Beijing']

示例

有一个pd数组,两列数据,一个标签一个数值,希望标签大于2的数值变为3

已有DataFrame(long),现在想新建一个DataFrame(tCG),但是保有原来a的索引:

代码语言:javascript
复制
long=ac['Site_Longitude(Degrees)']##其中long为Series
tCG=pd.DataFrame(np.ones(len(long)),columns=['tCG'],index=long.index)
long=pd.DataFrame(long)

提取某些列,而不是靠删除

代码语言:javascript
复制
t=tempa1.iloc[np.array(tempa1[tempa1['Day_of_Year']==1].index)]

按条件多选

去重

代码语言:javascript
复制
a=alldataday.drop_duplicates(['lat','lon','doy','mod'], keep='last')

原来500+条,现在400+

['lat','lon','doy','mod']代表4列数据,last 代表保存后面那个

想要从一个数组中删除另一个数组,两个办法,一个是减法,一个是加法

上面是加法,下面是减法

Pandas groupy分组计算

代码语言:javascript
复制
a1=dfarr[dfarr.pm25!=999999]

group=a1.groupby([a1['xian'],a1['quarter']])
b=group.mean()
b.to_csv('D:/minxinan/temp/pm.csv',encoding='gbk')

时间戳

代码语言:javascript
复制
c=pd.to_datetime(b['Date(dd:mm:yyyy)'],format='%d:%m:%Y')
d=c.dt.year
合并到b中
如果是不知道怎么把数据转化成标准的时分秒格式,如:
ab=pd.to_datetime(a['Time(hh:mm:ss)'],format='%H:%M:%S')

Numpy:

ps 作者这段时间心情很糟糕,numpy就不想写了

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个有趣的灵魂W 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档