【Pandas学习】行列切片、索引、添加、交换和删除操作

目录

参考链接 Python的DataFrame切片大全 - 腾讯云开发者社区-腾讯云 (tencent.com)

一、行操作

选择某一行

选择多行

增加行

交换行

删除行

二、列操作

更改列名

选择某一列

选择多列

增加列,如果对已有的列,则是赋值

交换两列的值

删除列

pandas的索引函数主要有三种:

  1. loc 标签索引,行和列的名称
  2. iloc 整型索引(绝对位置索引),绝对意义上的几行几列,起始索引为0
  3. ix 是 iloc 和 loc的合体
  4. at是loc的快捷方式
  5. iat是iloc的快捷方式

建立测试数据集:

import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', 'c'],'c': ["A","B","C"]})
print(df)
   a  b  c
0  1  a  A
1  2  b  B
2  3  c  C

一、行操作

选择某一行

print(df.loc[1,:])
a    2
b    b
c    B
Name: 1, dtype: object

选择多行

print(df.loc[1:2,:])#选择1:2行,slice为1
   a  b  c
1  2  b  B
2  3  c  C
print(df.loc[::-1,:])#选择所有行,slice为-1,所以为倒序
   a  b  c
2  3  c  C
1  2  b  B
0  1  a  A
print(df.loc[0:2:2,:])#选择0至2行,slice为2,等同于print(df.loc[0:2:2,:])因为只有3行
   a  b  c
0  1  a  A
2  3  c  C

增加行

df.loc[3,:]=4
     a  b  c
0  1.0  a  A
1  2.0  b  B
2  3.0  c  C
3  4.0  4  4

交换行

df.loc[[1,2],:]=df.loc[[2,1],:].values
   a  b  c
0  1  a  A
1  3  c  C
2  2  b  B

删除行

df.drop(0,axis=0,inplace=True)
print(df)
   a  b  c
1  2  b  B
2  3  c  C

二、列操作

更改列名

  1. df.columns = df.columns.str.strip() # 把columns当成series看待
  2. df.columns = df.columns.map(lambda x:x) # 使用map函数
  3. df.rename(columns={’s’:’c’}, inplace=True)

选择某一列

print(df.loc[:,"a"])
0    1
1    2
2    3
Name: a, dtype: int64

选择多列

print(df.loc[:,"a":"b"])
   a  b
0  1  a
1  2  b
2  3  c

增加列,如果对已有的列,则是赋值

df.loc[:,"d"]=4
   a  b  c  d
0  1  a  A  4
1  2  b  B  4
2  3  c  C  4

交换两列的值

df.loc[:,['b', 'a']] = df.loc[:,['a', 'b']].values
print(df)
   a  b  c
0  a  1  A
1  b  2  B
2  c  3  C

删除列


1)直接del DF[‘column-name’]

2)采用drop方法,有下面三种等价的表达式:

  • DF= DF.drop(‘column_name’, 1);
  • DF.drop(‘column_name’,axis=1, inplace=True)
  • DF.drop([DF.columns[[0,1,]]], axis=1,inplace=True

你可能感兴趣的:(Python,学习笔记,pandas,学习,python)