相关扩展库1# -*- coding: UTF-8 -*- 2 3import pandas as pd 4 5 6data_dict = {'first_col': [1, 2, 3, 4], 'second_col': [5, 6, 7, 8]} 7 8df = pd.DataFrame(data_dict)
数据修改 1import numpy as np 2 3# 转换某一列的数据类型 4 5df['first_col']=pd.DataFrame(df['first_col'],dtype=np.float32) 6 7# 重新定义列名 8 9df.columns = ['first_col_1','second_col_1'] 10 11print(df) 12 13# 修改部分列名 14 15df.rename(columns = {'first_col_1':'first_col_2','second_col_1':'second_col_2'},inplace = True) 16 17print(df) 18 19# 按照某个或多个字段排序,ascending = False为降序、ascending = True为升序 20 21df = df.sort_values(by=['first_col_2','second_col_2'],ascending = False) 22 23print(df) 24 25# 按照索引排序,ascending = False为降序、ascending = True为升序 26 27df = df.sort_index(axis = 0,ascending = True) 28 29print(df) 30 31# 按数据位置修改数据,如下将第二行、第二列数据修改为9 32 33df.iloc[1,1] = 9 34 35print(df) 36 37# 现有列计算生成新的列 38 39df['third_col_2'] = df['first_col_2'] + df['second_col_2'] 40 41# first_col_2 second_col_2 third_col_2 42# 0 1.0 5 6.0 43# 1 2.0 9 11.0 44# 2 3.0 7 10.0 45# 3 4.0 8 12.0
索引设置 1# 重新设置索引 2 3df['index']=range(len(df['first_col'])) 4 5df.set_index(df['index']) 6 7print(df) 8 9# 设置日期为索引,定义日期范围:start开始日期、periods数据行数 10 11date = pd.date_range(start='1/1/2021',periods=len(df['first_col'])) 12 13df = df.set_index(date) 14 15print(df)
数据连接与组合 1# 定义两个DataFrame数据 2 3df1 = pd.DataFrame(data_dict) 4 5df2 = pd.DataFrame(data_dict) 6 7# concat() 函数连接,axis=0表示当两个数据对象连接时存在不同的列不会生成新的列,axis=1表示会生成新的列 8 9df3=pd.concat([df1,df2],axis=0) 10 11print(df3) 12 13# 扩展函数append() 向df1中添加df2中的所有行、最后赋值给df3 14 15df3 = df1.append(df2.loc[:]) 16 17print(df3)
DataFrame输出 1# excel保存 2 3df.to_excel('/usr/data.xls') 4 5# csv 保存 6 7df.to_csv('/usr/data.csv') 8 9# 输出字典形式 10 11dict_ = df.to_dict(orient="dict") 12 13print(dict_)
|