python 表格处理 —— pandas Posted on 2018-05-18 | Edited on 2018-07-31 | In python pandas 表格数据处理,唰唰唰… Data frame12345678910111213141516171819202122232425262728293031323334353637import pandas as pd# 数据框转制dat = dat.T# 根据列进行合并dat = pd.merge(dat1, dat2, on='col', # col在两个数据框中同时存在时,设置on left_on='col1', right_on='col2', # 两个列名不同时存在,分贝设置合并列名 left_index=False, right_index=False, # 使用df的index进行合并 how='outdir') # {'left', 'right', 'outer', 'inner'}# concat 合并列数据dat = pd.concat(dflst, axis=1, # 左右合并 join='outer') # {'inner', 'outer'}# concat 行追加dat = pd.concat(dflst, axis=0, ignore_index=True)# 删除数据框行或者列dat = dat.drop(col_lst, axis=1) # 删除 列dat = dat.drop(index_lst, axis=0) # 删除 行dat = dat.drop_duplicates() # 删除 重复行dat = dat.dropna(axis=0, # 0,1 0表示行,1表示列 how='all') # {'any', 'all'}, all表示删除所有值缺失,any表示删除任意一个值缺失# 长表格 ==> 宽表格转换import numpy as npdat = pd.pivot_table(df, index=["Product"], # 设置保留字段 columns=['Year'], # 扩展列 values=["Price"], # 选定列对应数值 aggfunc=[np.sum], fill_value=0) # 设置数据合并的具体操作# 宽表格 ==> 长表格转换df = df.melt(id_vars=["Name","Product"], # 保留的主字段 var_name="Year", # 分类名 value_name="Price") # 变量名 read table123456789101112131415161718192021222324252627import pandas as pddat = pd.read_table('data.csv', sep='\t', # 设置表格分隔符,read_table默认为‘\t’,read_csv默认为‘,’ index_col=0, # 使用第1列作为数据框index,默认range(0, num_line)作为index header=None, # 表示文件不存在表头,默认第一行为表头 names=['a', 'b', '']) # 表头不存在时,添加表头为...# dat = pd.read_csv(...)dat = pd.read_excel('data.xlsx', sheet_name='sheet1') # 读取data.xlsx工作簿中sheet1的表格# 读取文件前特定行数dat = pd.read_csv('data.csv', nrows=500) # 读取超大文件reader = pd.read_csv('data.csv', iterator=True) # 产生一个迭代器chunkSize = 100000chunks = []while True: try: chunk = reader.get_chunk(chunkSize) # 一次读取特定行 # chunk # 进行一些过滤、处理 chunks.append(chunk) except StopIteration: breakdf = pd.concat(chunks, axis=0, ignore_index=True) save table123456789101112131415161718import pandas as pd# 输出数据到txt文本dat.to_csv('data.xls', index=False, # 是否输出df的index header=False, # 是否输出表头 na_rep='', # 缺省值替换 sep='\t', # 使用tab作为分隔符 encoding='utf-8') # 输出文件使用utf-8编码# 输出数据框到excelwriter = pd.ExcelWriter('output.xlsx') # 创建输出文件df1.to_excel(writer, sheet_name='Sheet1', ) # 输出到工作簿中名为Sheet1的工作表df2.to_excel(writer, sheet_name='Sheet2', ) # 输出到工作簿中名为Sheet2的工作表# ... writer.save() # 保存工作簿 ---------本文结束,感谢您的阅读---------