首页 > 编程语言 >Python数据清洗基础

Python数据清洗基础

时间:2024-08-31 10:22:26浏览次数:10  
标签:plt Python 数据 sales Sales pd import 清洗 data

在Python中进行数据清洗和可视化是一个多步骤的过程,涉及到数据的读取、预处理、分析和图形表示。以下是一些关键步骤和代码示例,这些步骤可以帮助你从原始数据中提取有价值的信息,并以直观的方式展示。

数据清洗

  1. 读取数据
import pandas as pd data = pd.read_csv('data.csv')
  1. 处理缺失值
# 填充缺失值
data.fillna(method='ffill', inplace=True)
# 或者删除缺失值
data.dropna(inplace=True)
  1. 数据类型转换
# 转换日期列为日期类型 
data['date'] = pd.to_datetime(data['date'])
  1. 删除重复数据
# 删除重复行 
data.drop_duplicates(inplace=True)
  1. 数据标准化
from sklearn.preprocessing
import StandardScaler 
# 标准化数值型数据 
scaler = StandardScaler() 
data[['sales', 'profit']] = scaler.fit_transform(data[['sales', 'profit']])

数据分析

  1. 数据描述
# 获取数据的描述性统计信息 
description = data.describe()
  1. 分组汇总
# 按类别分组汇总销售额 
category_sales = data.groupby('category')['sales'].sum()
  1. 计算相关性
# 计算销售额与利润的相关性
correlation = data['sales'].corr(data['profit'])
  1. 数据透视表
# 创建数据透视表 
pivot_table = data.pivot_table(values='sales', index='category', columns='region', aggfunc='sum')

数据可视化

  1. 折线图
import matplotlib.pyplot as plt 
# 绘制销售趋势折线图 
plt.figure(figsize=(10, 6)) 
plt.plot(data['date'], data['sales'], label='Sales') 
plt.xlabel('Date') 
plt.ylabel('Sales') 
plt.title('Sales Over Time') 
plt.legend() 
plt.show()
# 带数据,可直接运行版
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 假设数据
dates = pd.date_range("20230101", periods=6)
sales = np.random.randint(100, 200, size=6)
data = pd.DataFrame({'date': dates, 'sales': sales})

plt.figure(figsize=(10, 6))
plt.plot(data['date'], data['sales'], marker='o', linestyle='-', color='b')
plt.title('Sales Over Time')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.grid(True)
plt.show()

  1. 柱状图
# 绘制不同类别销售额的柱状图 
plt.figure(figsize=(10, 6)) 
plt.bar(data['category'], data['sales'], color='skyblue') 
plt.xlabel('Category') 
plt.ylabel('Sales') 
plt.title('Sales by Category') 
plt.show()
  1. 散点图
# 绘制利润与销售额的散点图 
plt.figure(figsize=(10, 6)) 
plt.scatter(data['profit'], data['sales'], color='red') plt.xlabel('Profit') 
plt.ylabel('Sales') 
plt.title('Profit vs Sales') 
plt.show()
  1. 直方图
# 绘制销售额分布的直方图 
plt.figure(figsize=(10, 6)) 
plt.hist(data['sales'], bins=20, color='green') 
plt.xlabel('Sales') 
plt.ylabel('Frequency') 
plt.title('Sales Distribution') 
plt.show()
# 带数据,可直接运行版
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 假设数据
dates = pd.date_range("20230101", periods=6)
sales = np.random.randint(100, 200, size=6)
data = pd.DataFrame({'date': dates, 'sales': sales})

plt.figure(figsize=(10, 6))
plt.hist(data['sales'], bins=10, color='green', alpha=0.7)
plt.title('Sales Distribution')
plt.xlabel('Sales')
plt.ylabel('Frequency')
plt.grid(True)
plt.show()

  1. 高级可视化(如热力图)
import seaborn as sns
# 绘制相关性热力图 
plt.figure(figsize=(10, 6)) 
sns.heatmap(data.corr(), annot=True, cmap='coolwarm') 
plt.title('Correlation Heatmap') 
plt.show()
# 带数据,可直接运行版
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 假设数据
dates = pd.date_range("20230101", periods=6)
sales = np.random.randint(100, 200, size=6)
data = pd.DataFrame({'date': dates, 'sales': sales})

# 假设相关性数据
corr = data.corr()
plt.figure(figsize=(8, 6))
sns.heatmap(corr, annot=True, cmap='coolwarm', linewidths=.5)
plt.title('Correlation Heatmap')
plt.show()

这些步骤和代码示例提供了一个从数据清洗到可视化的完整流程,帮助你更好地理解和分析你的数据。通过这些方法,你可以将原始数据转换为有价值的洞察,并以图形的方式进行展示。

标签:plt,Python,数据,sales,Sales,pd,import,清洗,data
From: https://blog.csdn.net/weixin_45933029/article/details/141748704

相关文章

  • [Python知识点]list列表append()和extend()的区别
    在Python中,list.append()和list.extend()都是列表(list)的方法,用于添加元素,但它们的工作方式有所不同:list.append(x):这个方法将对象x添加到列表的末尾。x可以是任何数据类型,包括列表。如果x是一个列表,那么这个列表会被作为一个单个元素添加到原列表的末尾。list.extend(itera......
  • 6种有效的时间序列数据特征工程技术(使用Python)
    在商业分析中,"时间"是一个核心概念。我们基于时间组件来分析销售数据、收入、利润、增长,甚至进行预测。然而,对于初学者来说,这可能是一个复杂的主题。在处理时间敏感的数据集时,需要考虑时间序列数据的多个细微方面。在这个领域,没有放之四海而皆准的方法。我们不必总是强制使用传......
  • python学习总结--面向对象
    1.面向对象(上)1.1定义面向对象编程:oop[objectorientedprogramming]是一种python的编程思路;面向过程:就是我们一开始学习的,按照解决问题的步骤去写代码【根据业务逻辑去写代码】,在思考问题的时候,首先分析'怎么按照步骤去实现'然后将问题解决拆解成若干个步骤,并将这些步骤对......
  • GitHub 上这款新浪微博爬虫项目,‌让你轻松掌握微博数据!‌
    该文章为weibo-crawler的官方文档,为了方便国内的同学阅读而转载。原文地址:https://github.com/dataabc/weibo-crawler源码我也下载了一份,读者可以在我的公众号上回复“分享资料”来获取,路径如下:​‍‍以下是正文:功能连续爬取一个或多个新浪微博用户(如迪丽热巴、郭碧婷)的......
  • 数据中心安全建设解决方案(Word完整版)
    第一章解决方案1.1建设需求1.2建设思路1.3总体方案信息安全系统整体部署架构图1.3.1IP准入控制系统1.3.2防泄密技术的选择1.3.3主机账号生命周期管理系统1.3.4数据库账号生命周期管理系统1.3.5双因素认证系统1.3.6数据库审计系统1.3.7数据脱敏系统1.3.......
  • 数据映射:铸就企业数据互通之桥
    在先前的文章中,我们已经对勤研低代码开发平台的字典功能进行了详细介绍。那么,当面对海量数据时,该平台究竟如何促使不同数据之间实现有效的数据交互与协同工作呢?让我们一同来深入了解勤研低代码开发平台的数据映射功能。数据映射作为低代码平台的核心功能之一,为不同数据源之......
  • 【python】PyQt5中富文本框QTextEdit的详细教程与应用实战
    ✨✨欢迎大家来到景天科技苑✨✨......
  • 【数据结构】排序算法篇一
    【数据结构】排序算法篇一1.插入排序(1)基本思想:(2)动态图解:(3)具体步骤:(4)代码实现:(5)特性总结:2.希尔排序(缩小增量排序)(1)基本思想:(2)静态图解:(3)具体步骤:(4)代码实现:(5)特性总结:3.堆排序(1)基本思想:(2)具体步骤:(3)代码实现:(4)特性总结:4.选择排序(1)基本思想:(2)动态图解:(3)具体步骤:(4)代码实现:(5)特......
  • python 绘制双y轴,将折线加粗并在折线上做标记
    之前的笔记折线实在是太细了,并且还有点透明,放在论文中特别难看,现在修改一下折线,并且绘制双y轴 #!usr/bin/envpython#-*-coding:utf-8_*-"""@author:Suyue@file:jakjdklj.py@time:2024/08/30{DAY}@desc:"""importpandasaspdimportmatplotlibimportmatplo......
  • Linux 数据结构 树知识
                                                                                    树:只有一个前驱,但......