读取tips.xlsx及预览内容
行的增删改查
增加行
直接赋值
# 可以只写一个值,也可以写列表
df.loc[40] = 1
df.loc[40] = [1,2,3,4,5,6,7]
append方法
# append 增加行的方法,设置ignore_index参数
df1 = df
df1 = df1.append(df,ignore_index=True)
df1
concat方法
# concat连接 会保留原来的行索引,需设置ignore_index
df2 = df
df3 = pd.concat([df,df2],ignore_index=True)
df3
删除行
# 要加inplace=True, 或者重新赋值给df,即df=df.drop([38,39])
df.drop([39],inplace=True)
df.drop([36,37,38],inplace=True)
# 删除连续行
#错误写法
df.drop([1:3])
# 正确写法
df = df.drop(range(1,4),axis=0)
df.drop(labels=range(1,4),axis=0)
改变某一行数据据
# 改一行的数据
df.loc[39] = [10,20,30,40,50,60,70]
# 改某行某列的一个值
df.loc[38,'total_bill'] = 100
查询行数据
# 查询单行
df.loc[1] # 这是Series
# 查询连续几行,查出来是dataframe
df.loc[1:3]
df.loc[2:]
df.loc[:10]
df.loc[:]
列的增删改查
增加列
# 直接赋值
df['haha'] = 1
#列与列直接的运算,赋值给新列
df['rate'] = df['tip'] / df['total_bill']
# 指定位置插入列
df.insert(2,'rates',df.rate*100)
df
删除列
del df['haha']
# 要添加inplace=True 或者df重新赋值
df = df.drop(['rates','rate'],axis=1)
列的修改操作
# 修改某一列的值
df['total_bill'] = df['total_bill'] * 100
# 修改列名
df.rename(columns={'tip':'TIP'},inplace=True)
df = df.rename(columns={'tip':'TIP','day':'DAY'})
查询列数据
# 查出来是Series
df.sex
df['sex']
# 查出来是dataframe
df[['sex']]
df[['sex','tip']]
# 筛选tip大于3的数据
df[df['tip'] > 3]
# 筛选tip大于3且 性别是男的
df[(df.tip > 3) & (df.sex == 'Male')]
df[(df['tip'] > 3) & (df['sex'] == 'Male')]
# pandas or的写法
df[(df.tip > 3) | (df.size < 5 )]
总结
简单的介绍行与列的增删改查,行与列本来就不是分的很开,这里方便大家查看所以才分的行、列的增删改查。可以结合起来进行某行某列,某几行某几列筛选、赋值。