欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Python数据操作实战:pandas的添加、删除、修改和查询方法

最编程 2024-02-05 09:35:40
...

pandas增删改查

当我们把数据放入DataFrame后,要数据分析就需要对数据进行进行各种操作,最常见的操作就是增删改查,特别是查,查进一步就是探查分析。

1.pandas读取数据

import pandas as pd
frame = pd.read_csv('./test.csv', header=None, columns=['state', 'year', 'pop'])
frame.index = frame['state']

2. pandas查

查询pandas有很多不同的方式,pandas处理的数据为表格形式,即行列式,访问数据既可以通过行和列组合来访问。

  • 按行访问和按列访问

    pandas可以按照行号的切片方式来访问,如frame[0:4] 获取前5行数据
    pandas通过列名直接筛选多列的数据如frame[['pop', 'year']]获取pop和year列

  • loc和iloc 行列组合访问
    loc 是按照索引名称和列名进行查询行列数据;iloc是按照行列整数来进行查询行列数据

    # 访问索引为Ohio的行,year和pop列
    frame.loc['Ohio', ['year', 'pop']]
    
    # 访问year和pop列的所有行
    frame.loc[:, ['year', 'pop']]
    
    # 访问前4行
    frame.iloc[0:3,]
    
    # 访问前4行,第3列
    frame.iloc[0:3, 2]
  • 条件查询

    最常用的条件查询方式是通过列名直接比较,如

    • frame[frame['year'] > 2001] 表示year这一列大于2001的所有行
    • 另一种等价的写法为query: frame.query('year > 2001')

pandas增删改

pandas增加行和列的方式可以通过增加一个Series的方式

  • 增加一列
frame['age'] = frame['year'] - 1900
  • 增加一行
frame.loc[len(frame.index)] = ['1', 2, 4]

删除行和列

# 删除列(按照列名)
frame.drop(['age'], axis=1)

# 删除行(按照行的索引)
frame.drop(['Ohio'], axis=0)
frame.drop([6], axis=0)
# 替换第一行
frame[0:1] = [ 2, 1.2, 20]

# 修改第二行第3列
frame.iloc[1, 2] = 4 

推荐阅读