pandas数据分析练习记录

简介: pandas数据分析练习记录

pandas数据分析练习

# coding=utf-8
"""
    @Project :pachong-master 
    @File    :list_series.py
    @Author  :gaojs
    @Date    :2022/6/5 22:06
    @Blogs   : https://www.gaojs.com.cn
"""
import pandas as pd
import numpy as np
class Pandas:
    """
    pandas类库练习
    """
    def __init__(self):
        pass
    def list_series(self):
        """
        列表转换成series:索引为数字
        :return:
        """
        course = ["语文", "数学", "英语", "计算机"]
        data = pd.Series(data=course)
        print(data)
    def dict_series(self):
        """
        字典转换成series:索引为key值
        :return:
        """
        grades = {"语文": 80, "数学": 90, "英语": 100, "计算机": 95}
        data = pd.Series(data=grades)
        print(data)
    def series_list(self):
        """
        series转换成list
        :return:
        """
        grades = {"语文": 80, "数学": 90, "英语": 100, "计算机": 95}
        data = pd.Series(data=grades)
        members = data.to_list()
        print(members)
    def series_dataframe(self):
        """
        series转换成dataframe
        :return:
        """
        grades = {"语文": 80, "数学": 90, "英语": 100, "计算机": 95}
        data = pd.Series(data=grades)
        df = pd.DataFrame(data, columns=['grade'])
        print(df)
    def numpy_create_series(self):
        """
        numpy创建series
        :return:
        """
        s = pd.Series(
            # 树脂:10-90,间隔10
            np.arange(10, 100, 10),
            # 索引:101-109,间隔1
            index=np.arange(101, 110),
            # 类型:float64
            dtype='float'
        )
        print(s)
    def series_datatype(self):
        """
        数据类型转换
        :return:
        """
        s = pd.Series(
            data=["001", "002", "003", "004"],
            index=list("abcd")
        )
        # s = s.astype(int)
        # 效果一样,map里的int是函数
        s = s.map(int)
        print(s)
    def series_add_ele(self):
        """
        给series添加新元素
        :return:
        """
        grades = {"语文": 80, "数学": 90, "英语": 100, "计算机": 95}
        data = pd.Series(data=grades)
        data = data.append(pd.Series({
            "物理": 99,
            "高数": 88
        }))
        print(data)
    def series_to_dataframe(self):
        """
        series转换成dataframe
        :return:
        """
        grades = {"语文": 80, "数学": 90, "英语": 100, "计算机": 95}
        data = pd.Series(data=grades)
        df = data.reset_index()
        df.columns = ['course', 'grade']
        print(df)
    def dict_create_dataframe(self):
        """
        使用字典创建dataframe
        :return:
        """
        df = pd.DataFrame(
            {
                "姓名": ["张三", "李四", "王麻子", "高先生"],
                "性别": ["男", "女", "男", "女"],
                "年龄": [18, 19, 20, 21]
            }
        )
        print(df)
    def set_dataframe_index(self):
        """
        给dataframe设置索引列
        :return:
        """
        df = pd.DataFrame(
            {
                "姓名": ["张三", "李四", "王麻子", "高先生"],
                "性别": ["男", "女", "男", "女"],
                "年龄": [18, 19, 20, 21]
            }
        )
        df.set_index("姓名", inplace=True)
        print(df)
    def dataMonth(self):
        """
        一个月份所有日期
        :return:
        """
        # date_range = pd.date_range(start='2022-05-01', end='2022-05-31')
        date_range = pd.date_range(start='2022-05-01', periods=31)
        print(date_range)
    def mondayDate(self):
        """
        一年所有的周一日期
        :return:
        """
        # data_range = pd.date_range(start='2022-01-01', end='2022-12-31', freq='W-Mon')
        data_range = pd.date_range(start='2022-01-01', periods=52, freq='W-Mon')
        print(data_range)
    def dayHourDate(self):
        """
        一日所有的小时
        :return:
        """
        # data_range = pd.date_range(start='2022-01-01', periods=24, freq='H')
        data_range = pd.date_range(start='2022-01-01', end='2022-01-02', freq='H', closed='left')
        print(data_range)
    def dateToDataframe(self):
        """
        日期生成DataFrame
        :return:
        """
        data_range = pd.date_range(start='2022-5-01', periods=31, freq='D')
        # print(data_range)
        df = pd.DataFrame(data=data_range, columns=['day'])
        df['day_of_year'] = df['day'].dt.dayofyear
        print(df)
    def dateToRandomDataFrame(self):
        """
        日期随机生成dataframe:均匀  正态  二项分布
        :return:
        """
        data_range = pd.date_range(start='2022-1-01', periods=1000, freq='D')
        data = {
            'norm': np.random.normal(loc=0, scale=1, size=1000),
            'unifom': np.random.uniform(low=0, high=1, size=1000),
            'binomial': np.random.binomial(n=1, p=0.2, size=1000)
        }
        df = pd.DataFrame(data=data, index=data_range)
        print(df)
    def logHeadLine(self):
        """
        打印前10行
        :return:
        """
        data_range = pd.date_range(start='2022-1-01', periods=1000, freq='D')
        data = {
            'norm': np.random.normal(loc=0, scale=1, size=1000),
            'unifom': np.random.uniform(low=0, high=1, size=1000),
            'binomial': np.random.binomial(n=1, p=0.2, size=1000)
        }
        df = pd.DataFrame(data=data, index=data_range)
        print(df.head(10))
        print(df.tail(5))
    def catDataFrame(self):
        """
        查看dataframe基本信息
        :return:
        """
        data_range = pd.date_range(start='2022-1-01', periods=1000, freq='D')
        data = {
            'norm': np.random.normal(loc=0, scale=1, size=1000),
            'unifom': np.random.uniform(low=0, high=1, size=1000),
            'binomial': np.random.binomial(n=1, p=0.2, size=1000)
        }
        df = pd.DataFrame(data=data, index=data_range)
        print(df.info())
        print(df.describe())
    def countDataAppear(self):
        """
        统计数据出现次数
        :return:
        """
        data_range = pd.date_range(start='2022-1-01', periods=1000, freq='D')
        data = {
            'norm': np.random.normal(loc=0, scale=1, size=1000),
            'unifom': np.random.uniform(low=0, high=1, size=1000),
            'binomial': np.random.binomial(n=1, p=0.2, size=1000)
        }
        df = pd.DataFrame(data=data, index=data_range)
        print(df['binomial'].value_counts())
    def saveCSV(self):
        """
        保存前一百行存入csv
        :return:
        """
        data_range = pd.date_range(start='2022-1-01', periods=1000, freq='D')
        data = {
            'norm': np.random.normal(loc=0, scale=1, size=1000),
            'unifom': np.random.uniform(low=0, high=1, size=1000),
            'binomial': np.random.binomial(n=1, p=0.2, size=1000)
        }
        df = pd.DataFrame(data=data, index=data_range)
        df.head(10).to_csv('分布数据前50.csv')
    def csvLoadDataframe(self):
        """
        csv加载成dataframe
        :return:
        """
        df = pd.read_csv('分布数据前50.csv', index_col=0)
        print(df.info())
        print(df.head())
# test = Pandas()
# test.csvLoadDataframe()


相关文章
|
1月前
|
数据挖掘 C语言 索引
数据分析-pandas(三)
在这里,我们将讨论pandas数据结构中常见的许多基本功能
17 0
|
1月前
|
数据挖掘 索引 Python
数据分析-pandas(一)
pandas是Python的一个第三方开源库,是Python数据分析的必备高级工具,Pandas 这个名字来源于面板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。在经济学中,Panel Data 是一个关于多维数据集的术语。Pandas 最初被应用于金融量化交易领域,现在它的应用领域更加广泛,涵盖了农业、工业、交通等许多行业。
34 0
|
2月前
|
存储 数据可视化 数据挖掘
Python在数据分析中的利器:Pandas库全面解析
【2月更文挑战第7天】 众所周知,Python作为一种简洁、易学且功能强大的编程语言,被广泛运用于数据科学和人工智能领域。而Pandas库作为Python中最受欢迎的数据处理库之一,在数据分析中扮演着举足轻重的角色。本文将全面解析Pandas库的基本功能、高级应用以及实际案例,带您深入了解这个在数据分析领域的利器。
47 1
|
1月前
|
SQL 数据挖掘 数据处理
Python数据分析(二)—— Pandas快速入门
Python数据分析(二)—— Pandas快速入门
|
2天前
|
数据采集 SQL 数据可视化
Python数据分析工具Pandas
【4月更文挑战第14天】Pandas是Python的数据分析库,提供Series和DataFrame数据结构,用于高效处理标记数据。它支持从多种数据源加载数据,包括CSV、Excel和SQL。功能包括数据清洗(处理缺失值、异常值)、数据操作(切片、过滤、分组)、时间序列分析及与Matplotlib等库集成进行数据可视化。其高性能底层基于NumPy,适合大型数据集处理。通过加载数据、清洗、分析和可视化,Pandas简化了数据分析流程。广泛的学习资源使其成为数据分析初学者的理想选择。
4 1
|
3天前
|
供应链 搜索推荐 数据挖掘
Pandas实战案例:电商数据分析的实践与挑战
【4月更文挑战第16天】本文通过一个电商数据分析案例展示了Pandas在处理销售数据、用户行为分析及商品销售趋势预测中的应用。在数据准备与清洗阶段,Pandas用于处理缺失值、重复值。接着,通过用户购买行为和商品销售趋势分析,构建用户画像并预测销售趋势。实践中遇到的大数据量和数据多样性挑战,通过分布式计算和数据标准化解决。未来将继续深入研究Pandas与其他先进技术的结合,提升决策支持能力。
|
3天前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。
|
11天前
|
数据采集 数据挖掘 数据处理
Pandas库在数据分析中的作用
【4月更文挑战第9天】Pandas,一个基于NumPy的数据分析Python库,以强大的数据处理和便捷的接口闻名。它包含两个核心数据结构:Series(一维标签数组)和DataFrame(二维表格)。Pandas支持数据导入/导出(如CSV、Excel),数据清洗(处理缺失值和重复值),描述性统计分析,分组聚合,以及与Matplotlib等库集成实现数据可视化。通过多索引和层次化索引,Pandas能灵活处理复杂数据集,是数据科学领域的关键工具。本文旨在帮助读者理解并运用Pandas进行高效数据分析。
|
1月前
|
SQL 数据挖掘 数据库管理
数据分析-pandas(二)
DataFrame是一个二维标记数据结构,其中包含可能不同类型的列。您可以将其视为电子表格或SQL表,或者Series对象的字典。它通常是最常用的pandas对象。与Series一样,DataFrame接受许多不同类型的输入: 一维ndarray,列表,字典,或字典的Series
27 0
|
1月前
|
数据挖掘 BI Python
Python数据分析(三)—— Pandas数据统计
Python数据分析(三)—— Pandas数据统计