Python之pandas模块
作者:互联网
只保留需要的列:
df = df[['列1', '列2', '列3']]
新增一列:
df1['列名']=['行1值','行2值','行3值','行4值'] # 增加列的元素个数要跟原数据列的个数一样
指定位置新增一列:
col_name=df1.columns.tolist() # 将数据框的列名全部提取出来存放在列表里
col_name.insert(2,'列名') # 在列索引为2的位置插入一列,列名为:city,刚插入时不会有值,整列都是NaN
df1=df1.reindex(columns=col_name) # DataFrame.reindex() 对原行/列索引重新构建索引值
df1['列名']=['行1值','行2值','行3值','行4值'] # 给city列赋值
新增一行:
import pandas as pd
重要!!先创建一个DataFrame,用来增加进数据框的最后一行
new=pd.DataFrame({'name':'lisa','gender':'F','city':'北京','age':19,'score':100},index=[1])
- 自定义索引为:1 ,这里也可以不设置index
df1=df1.append(new,ignore_index=True)
- ignore_index=True,表示不按原来的索引,从0开始自动递增
更换单值,loc和iloc 可以更换单行、单列、多行、多列的值
[先行,后列]
df1.loc[0,'列名']=25 # 思路:先用loc找到要更改的值,再用赋值(=)的方法实现更换值
df1.iloc[0,2]=25 # iloc:用索引位置来查找
按某列的值排序
df= df.sort_values(by='列名',ascending=False)
- ascending:false 降序
excel新增Sheet:
import pandas as pd
data = pd.DataFrame()
writer = pd.ExcelWriter('model_predict.xlsx',mode='a', engine='openpyxl',if_sheet_exists='new')
data.to_excel(writer, sheet_name='sheet1')
writer.save()
writer.close()
- model:有两个参数,{'w', 'a'}, default 'w'。'w'代表write,'a'代表append。不覆盖原文件选择追加使用‘a’。
- engine:现在已有的的写入excel模块包含openpyxl和xlsxwriter,default 'xlsxwriter',xlsxwriter模块不支持append追加操作,需要追加新的sheet操作选择'openpyxl'参数,否则会报错。
- if_sheet_exists:{'error', 'new', 'replace'}, default 'error',写入的sheet name已存在时代码操作,默认'error'表报错, 'new'表engine自动创建新的其他sheet name, 'replace'表覆盖原sheet数据。
标签:pd,sheet,name,Python,列名,df1,模块,new,pandas 来源: https://www.cnblogs.com/IvanKK/p/16033719.html