python-pandas

pandas 用法持续总结:

问题1: 需要把表中部分column转换成列,每一个column对应第一列的编码。

方法:melt(...)

参数:df.melt(id_vars=['A'], value_vars=['B'])

说明:指定ID字段,本例中id_vars是第一列编码。

转换前

转换后:

 问题2: 由于转换后index乱序,重新排序

方法:reset_index()

参数:drop=True

说明:去掉乱序的index,使用新的index

问题3:排序

方法:sort_values()

参数:列名称组成的序列

说明:df.sort_values(['国际编码','variable']),排序后index错乱

问题4:删除一行根据指定条件

方法:drop()

参数:index

说明:df.drop(df[df.value==0].index) drop接收index然后进行删除,inplace参数设置为True的时候,不返回对象,直接修改。

问题5:修改column名

方法rename()

参数:columns字典

说明:接收columns参数,传入旧列名和新列名字典对应。

问题6:if then 修改值

方法:df.loc[df.列名 > 值,['影响的列']] = 新值

说明:看下图 

问题7:if then else 判断值并新增

方法:np.where()

参数:df['新列']=np.where(df['列名'] == '值',为True的时候的值,为False时候的值 )

问题8: 判断值之后,两列对掉

方法:np.where(条件表达式,true的值,false的值)

说明:看下图实例

原文地址:https://www.cnblogs.com/mirrorlake/p/8030259.html