【Pandas数据分析4】数据操作

简介: 【Pandas数据分析4】数据操作

四、数据操作

1、数据的增加

1.1 按列增加数据

import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
# 1、直接赋值
df['政治'] = [90, 89, 100]
print(df)
print('-------------------------')
# 2、使用loc属性在DataFrame对象的最后一列增加
df.loc[:, '化学'] = [100, 30, 98]
print(df)
print('-------------------------')
# 3、在指定的索引位置上插入一列
lst = [100, 90, 99]
df.insert(1, '历史', lst)
print(df)
数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
-------------------------
      数学  语文  英语  政治
张三    45    65   100    90
李四    56    45    50    89
王五    67    67    67   100
-------------------------
      数学  语文  英语  政治  化学
张三    45    65   100    90   100
李四    56    45    50    89    30
王五    67    67    67   100    98
-------------------------
      数学  历史  语文  英语  政治  化学
张三    45   100    65   100    90   100
李四    56    90    45    50    89    30
王五    67    99    67    67   100    98

1.2 按行增加数据

import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
# 1、增加一行
df.loc['陈六'] = [56, 67, 90]
print(df)
print('-------------------------')
# 新建DataFrame
new_df = pd.DataFrame(
    data={'数学': [67, 69], '语文': [56, 78], '英语': [100, 99]},
    index=['张丽丽', '王一一']
)
print(new_df)
print('-------------------------')
# 2、一个添加到另一个
df = df.append(new_df)
print(df)
数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
-------------------------
      数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
陈六    56    67    90
-------------------------
        数学  语文  英语
张丽丽    67    56   100
王一一    69    78    99
-------------------------
        数学  语文  英语
张三      45    65   100
李四      56    45    50
王五      67    67    67
陈六      56    67    90
张丽丽    67    56   100
王一一    69    78    99

1.3 增加多行数据

见上!

2、数据的修改

2.1 修改列标题

  • 使用DataFrame对象的columns属性直接赋值
  • 使用DataFrame对象的rename方法修改列标题
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
# 1、直接使用columns属性
df.columns = ['数学(上)', '语文(上)', '英语(上)']
print(df)
print('-------------------------')
# 2、rename inplace=True 直接修改并返回
df.rename(columns={'数学(上)': '数学(下)', '语文(上)': '语文(下)', '英语(上)': '英语(下)'}, inplace=True)
print(df)
数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
-------------------------
      数学(上)  语文(上)  英语(上)
张三        45        65       100
李四        56        45        50
王五        67        67        67
-------------------------
      数学(下)  语文(下)  英语(下)
张三        45        65       100
李四        56        45        50
王五        67        67        67

2.2 修改行标题

  • 使用DataFrame对象的index属性
  • 使用DataFrame对象的rename方法
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
# 1、直接赋值
df.index = list('123')
print(df)
print('-------------------------')
# 2、rename
df.rename({'1': '一一', '2': '二二', '3': '三三'}, inplace=True, axis=0)
print(df)
数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
-------------------------
   数学  语文  英语
1    45    65   100
2    56    45    50
3    67    67    67
-------------------------
      数学  语文  英语
一一    45    65   100
二二    56    45    50
三三    67    67    67

2.3 修改数据

  • 使用DataFrame对象的loc属性和iloc属性
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
# 修改一整行数据
df.loc['张三'] = [100, 100, 100]
print(df)
print('-------------------------')
df.iloc[0, :] = [111, 111, 111]  # 第0行的所有列
print(df)
print('-------------------------')
# 修改一整列数据
df.loc[:, '数学'] = [100, 100, 100]
print(df)
print('-------------------------')
df.iloc[:, 0] = [111, 111, 111]
print(df)
print('-------------------------')
# 修改某一处数据
df.loc['李四', '语文'] = 100
print(df)
print('-------------------------')
df.iloc[1, 1] = 666
print(df)
数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
-------------------------
      数学  语文  英语
张三   100   100   100
李四    56    45    50
王五    67    67    67
-------------------------
      数学  语文  英语
张三   111   111   111
李四    56    45    50
王五    67    67    67
-------------------------
      数学  语文  英语
张三   100   111   111
李四   100    45    50
王五   100    67    67
-------------------------
      数学  语文  英语
张三   111   111   111
李四   111    45    50
王五   111    67    67
-------------------------
      数学  语文  英语
张三   111   111   111
李四   111   100    50
王五   111    67    67
-------------------------
      数学  语文  英语
张三   111   111   111
李四   111   666    50
王五   111    67    67

3、数据的删除

  • 使用DataFrame对象的drop方法
df.drop(labels=None, axis=0, index=None, columns=None, inplace=False)

参数说明:

  • labels:行标签或列标签
  • axis
  • axis=0:按行删除
  • axis=1:按列删除
  • index:删除行,默认值为None
  • columns:删除列,默认值为None
  • inplace:对原数组作出修改并返回一个新数组,默认值为False。如果值为True,那么原数组将直接被替换。
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
# 一、删除某一列
# # 方法1:
# df.drop(['数学'], axis=1, inplace=True)
# print(df)
# print('-------------------------')
# # 方法2:
# df.drop(columns='数学', inplace=True)
# print(df)
# print('-------------------------')
# # 方法3:
# df.drop(labels='数学', axis=1, inplace=True)
# print(df)
# print('-------------------------')
# 二、删除某一行
# # 方法1:
# df.drop(['张三'], axis=0, inplace=True)
# print(df)
# print('-------------------------')
# # 方法2:
# df.drop(index='张三', inplace=True)
# print(df)
# print('-------------------------')
# # 方法3:
# df.drop(labels='张三', axis=0, inplace=True)
# print(df)
# print('-------------------------')
# 三、有条件的删除:删除数学<60
print(df[df['数学'] < 60].index[1])
df.drop(df[df['数学'] < 60].index[1], inplace=True)  # 数学成绩小于60,有张三和李四,删除行索引1的李四
print(df)
数学  语文  英语
张三    45    65   100
李四    56    45    50
王五    67    67    67
-------------------------
李四
      数学  语文  英语
张三    45    65   100
王五    67    67    67


目录
相关文章
|
6天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
22 2
|
4天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。
|
6天前
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas高级
在上一篇博文中,我们介绍了Python数据分析中NumPy和Pandas的基础知识。本文将深入探讨NumPy和Pandas的高级功能,并通过一个综合详细的例子展示这些高级功能的应用。
|
5天前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。
|
10天前
|
供应链 数据可视化 数据挖掘
【python】python省市水资源数据分析可视化(源码+数据)【独一无二】
【python】python省市水资源数据分析可视化(源码+数据)【独一无二】
|
7天前
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas基础
本文详细介绍了 Python 中两个重要的数据分析库 NumPy 和 Pandas 的基础知识,并通过一个综合的示例展示了如何使用这些库进行数据处理和分析。希望通过本篇博文,能更好地理解和掌握 NumPy 和 Pandas 的基本用法,为后续的数据分析工作打下坚实的基础。
|
8天前
|
数据可视化 数据挖掘 数据处理
【python】python农产品数据分析可视化(源码+论文+数据)【独一无二】
【python】python农产品数据分析可视化(源码+论文+数据)【独一无二】
|
9天前
|
数据可视化 数据挖掘 Python
【python】python学生成绩数据分析可视化(源码+数据+论文)【独一无二】
【python】python学生成绩数据分析可视化(源码+数据+论文)【独一无二】
|
4天前
|
Python
Pandas 读取Eexcel - 间隔N行,读取某列数据
Pandas 读取Eexcel - 间隔N行,读取某列数据
9 0
|
5天前
|
存储 数据可视化 数据挖掘
Python 3 中使用 pandas 和 Jupyter Notebook 进行数据分析和可视化
Python 3 中使用 pandas 和 Jupyter Notebook 进行数据分析和可视化
13 0

热门文章

最新文章