前言:
今天同学们对“python对excel添加新的一列”大体比较注重,兄弟们都需要分析一些“python对excel添加新的一列”的相关内容。那么小编同时在网上汇集了一些有关“python对excel添加新的一列””的相关文章,希望朋友们能喜欢,兄弟们一起来了解一下吧!本期介绍一下Python操作一些实用技能列操作,包括删除、插入、添加新列等操作,其实这些操作只需要一个函数即可。在介绍这些之前先介绍一个函数concat
在Excel中,我们时常需要操作两个sheet,前面介绍了merge函数,今天再介绍一个连接函数concat
concat函数
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,keys=None, levels=None, names=None, verify_integrity=False)objs: series,dataframe或者是panel构成的序列listaxis:需要合并链接的轴,0是行,1是列 join: 连接的方式 :inner,oute
import pandas as pddf1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']})df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'], 'B': ['B4', 'B5', 'B6', 'B7'], 'C': ['C4', 'C5', 'C6', 'C7'], 'D': ['D4', 'D5', 'D6', 'D7']})#.reset_index:重新索引;drop=True删除原索引df=pd.concat([df1,df2]).reset_index(drop=True)print(df)**************************************************** A B C D0 A0 B0 C0 D01 A1 B1 C1 D12 A2 B2 C2 D23 A3 B3 C3 D34 A4 B4 C4 D45 A5 B5 C5 D56 A6 B6 C6 D67 A7 B7 C7 D7*****************************************************
cancat也可以连接Excel中两个sheet表,如:
df1=pd.read_excel('student11.xlsx',sheet_name='p1')df2=pd.read_excel('student11.xlsx',sheet_name='p2')#.reset_index:重新索引;drop=True删除原索引df=pd.concat([df1,df2]).reset_index(drop=True)print(df)
注意:如果两个sheet或DataFrame列名不一致时,在连接的时候系统将会自动填充空值,如:
city number name test10 xian 10.0 NaN NaN1 beijing 13.0 NaN NaN2 shanghai 16.0 NaN NaN3 shenzhen 19.0 NaN NaN4 litang 25.0 NaN NaN5 chengdu 31.0 NaN NaN6 guangyuan 37.0 NaN NaN7 mianyang 55.0 NaN NaN8 jiangyou 73.0 NaN NaN9 weinan 91.0 NaN NaN10 baoji 180.0 NaN NaN11 tongchuan 269.0 NaN NaN12 NaN NaN student_001 88.013 NaN NaN student_003 59.014 NaN NaN student_005 67.015 NaN NaN student_007 78.016 NaN NaN student_009 50.017 NaN NaN student_011 90.018 NaN NaN student_013 78.019 NaN NaN student_015 76.020 NaN NaN student_003 59.021 NaN NaN student_005 67.022 NaN NaN student_007 78.0
concat用法与merge、join函数功能有些类似,区别如下:
concat:concat方法相当于数据库中的全连接(UNION ALL),可以指定按某个轴进行连接,也可以指定连接的方式join(outer,inner 只有这两种)。与数据库不同的是concat不会去重,要达到去重的效果可以使用drop_duplicates方法
concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True):
join:提供了一个简便的方法用于将两个DataFrame中的不同的列索引合并成为一个DataFrame。其中参数的意义与merge方法基本相同,只是join方法默认为左外连接how=left。merge:pandas提供了一个类似于关系数据库的连接(join)操作的方法merage,可以根据一个或多个键将不同DataFrame中的行连接起来。
merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=True, indicator=False)
追加、删除和插入一列
追加列比较简单,比如我在学生表内想添加年龄一列,删除、插入类似
#全列年龄都是25岁,你也可以根据实际情况添加列表df['Age']=25#删除年龄、姓名两列df.drop(columns=['Age','name'],inplace=True)#插入一列,1表示插入的位置df.insert(1,column='key',value='value ')删除具有空值项的行
df.dropna(inplace=True)
今天就到这啦,下期见!!!!!!!
标签: #python对excel添加新的一列