精华内容
下载资源
问答
  • pandas数据清洗——删除
    千次阅读
    2022-04-29 21:53:14

    准备工作(导入库、导入数据)

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    import seaborn as  sns
    sns.set_style("darkgrid")   
    
    list_csv = ['Amazon_top_selling_book.csv','breast_cancer_wisconsin.csv','diamonds.csv','insurance.csv','netflix_titles.csv','penguins.csv',
               'titanic.csv','winequality-red.csv']
    dic_path = r'C:\Users\pandas\Desktop\task\228datasets\datasets'
    part_data = pd.read_csv(dic_path+'\\'+list_csv[4])
    part_data
    
    show_idtypetitledirectorcastcountrydate_addedrelease_yearratingdurationlisted_indescription
    0s1MovieDick Johnson Is DeadKirsten JohnsonNaNUnited StatesSeptember 25, 20212020PG-1390 minDocumentariesAs her father nears the end of his life, filmm...
    1s2TV ShowBlood & WaterNaNAma Qamata, Khosi Ngema, Gail Mabalane, Thaban...South AfricaSeptember 24, 20212021TV-MA2 SeasonsInternational TV Shows, TV Dramas, TV MysteriesAfter crossing paths at a party, a Cape Town t...
    2s3TV ShowGanglandsJulien LeclercqSami Bouajila, Tracy Gotoas, Samuel Jouy, Nabi...NaNSeptember 24, 20212021TV-MA1 SeasonCrime TV Shows, International TV Shows, TV Act...To protect his family from a powerful drug lor...
    3s4TV ShowJailbirds New OrleansNaNNaNNaNSeptember 24, 20212021TV-MA1 SeasonDocuseries, Reality TVFeuds, flirtations and toilet talk go down amo...
    4s5TV ShowKota FactoryNaNMayur More, Jitendra Kumar, Ranjan Raj, Alam K...IndiaSeptember 24, 20212021TV-MA2 SeasonsInternational TV Shows, Romantic TV Shows, TV ...In a city of coaching centers known to train I...
    .......................................

    8807 rows × 12 columns

    检测数据情况

    Hint:该函数用于检测任意DataFrame中缺失值情况

    def missing_values_table(df):
            mis_val = df.isnull().sum()
            mis_val_percent = 100 * df.isnull().sum() / len(df)
            mis_val_table = pd.concat([mis_val, mis_val_percent], axis=1)
            mis_val_table_ren_columns = mis_val_table.rename(
            columns = {0 : 'Missing Values', 1 : '% of Total Values'})
            mis_val_table_ren_columns = mis_val_table_ren_columns[
                mis_val_table_ren_columns.iloc[:,1] != 0].sort_values(
            '% of Total Values', ascending=False).round(1)
            print ("Your selected dataframe has " + str(df.shape[1]) + " columns.\n"      
                "There are " + str(mis_val_table_ren_columns.shape[0]) +
                  " columns that have missing values.")
            return mis_val_table_ren_columns
    
    missing_values_table(part_data)
    
    Your selected dataframe has 12 columns.
    There are 6 columns that have missing values.
    
    Missing Values% of Total Values
    director263429.9
    country8319.4
    cast8259.4
    date_added100.1
    rating40.0
    duration30.0

    DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

    参数说明:

    labels 就是要删除的行列的名字,用列表给定

    axis 默认为0,指删除行,因此删除columns时要指定axis=1;

    index 直接指定要删除的行

    columns 直接指定要删除的列

    inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;

    inplace=True,则会直接在原数据上进行删除操作,删除后无法返回。

    方式一:删除指定行或列

    labels+axis

    demo = part_data.drop(['director'], axis=1)
    missing_values_table(demo)
    
    Your selected dataframe has 11 columns.
    There are 5 columns that have missing values.
    
    Missing Values% of Total Values
    country8319.4
    cast8259.4
    date_added100.1
    rating40.0
    duration30.0

    方式二:利用boolean删除满足条件元素所在的行

    df = df.drop(df[<some boolean condition>].index)

    # 删除release_year年份在2009年之前的行
    demo = part_data.drop(part_data[part_data["release_year"]<2009].index)
    demo.shape
    
    (7624, 12)
    
    更多相关内容
  • 本篇为『图解Pandas数据变换高级函数』,讲解3个函数是map、apply和applymap,更高效地完成数据处理过程中对DataFrame进行逐行、逐列和逐元素的操作。

    ShowMeAI研究中心

    作者:韩信子@ShowMeAI
    教程地址http://www.showmeai.tech/tutorials/33
    本文地址http://www.showmeai.tech/article-detail/147
    声明:版权所有,转载请联系平台与作者并注明出处


    当我们提到python数据分析的时候,大部分情况下都会使用Pandas进行操作。pandas整个系列覆盖以下内容:

    本篇为『图解Pandas数据变换高级函数』。

    一、Pandas的数据变换高级函数


    在数据处理过程中,经常需要对DataFrame进行逐行、逐列和逐元素的操作(例如,机器学习中的特征工程阶段)。Pandas中有非常高效简易的内置函数可以完成,最核心的3个函数是map、apply和applymap。下面我们以图解的方式介绍这3个方法的应用方法。

    首先,通过numpy模拟生成一组数据。数据集如下所示,各列分别代表身高(height)、体重(weight)、是否吸烟(smoker)、性别(gender)、年龄(age)和肤色(color)。

    import numpy as np
    import pandas as pd
    
    boolean=[True,False]
    gender=["男","女"]
    color=["white","black","yellow"]
    data=pd.DataFrame({
        "height":np.random.randint(150,190,100),
        "weight":np.random.randint(40,90,100),
        "smoker":[boolean[x] for x in np.random.randint(0,2,100)],
        "gender":[gender[x] for x in np.random.randint(0,2,100)],
        "age":np.random.randint(15,90,100),
        "color":[color[x] for x in np.random.randint(0,len(color),100) ]
    }
    )
    

    二、Series数据处理

    2.1 map方法

    当我们需要把series数据逐元素做同一个变换操作时,我们不会使用for循环(效率很低),我们会使用Series.map()来完成,通过简单的一行代码即可完成变换处理。例如,我们把数据集中gender列的男替换为1,女替换为0。

    下面我们通过图解的方式,拆解map的操作过程:

    (1)使用字典映射的map原理

    #①使用字典进行映射
    data["gender"] = data["gender"].map({"男":1, "女":0})
    

    map方法

    (2)使用函数映射的map原理

    #②使用函数
    def gender_map(x):
        gender = 1 if x == "男" else 0
        return gender
    #注意这里传入的是函数名,不带括号
    data["gender"] = data["gender"].map(gender_map)
    

    pandas map操作

    如上面例子所示,使用map时,我们可以通过字典或者函数进行映射处理。对于这两种方式,map都是把对应的数据逐个当作参数传入到字典或函数中,进行映射得到结果。

    2.2 apply方法

    当我们需要完成复杂的数据映射操作处理时,我们会使用到Series对象的apply方法,它和map方法类似,但能够传入功能更为复杂的函数。

    我们通过一个例子来理解一下。例如,我们要对年龄age列进行调整(加上或减去一个值),这个加上或减去的值我们希望通过传入。此时,多了1个参数bias,用map方法是操作不了的(传入map的函数只能接收一个参数),apply方法则可以解决这个问题。

    def apply_age(x,bias):
        return x+bias
    
    #以元组的方式传入额外的参数
    data["age"] = data["age"].apply(apply_age,args=(-3,))
    

    apply方法

    可以看到age列都减了3,这是个非常简单的例子,apply在复杂场景下有着更灵活的作用。
    总结一下,对于Series而言,map可以完成大部分数据的统一映射处理,而apply方法适合对数据做复杂灵活的函数映射操作。

    三、DataFrame数据处理

    3.1 apply方法

    DataFrame借助apply方法,可以接收各种各样的函数(Python内置的或自定义的)对数据进行处理,非常灵活便捷。
    掌握DataFrame的apply方法需要先了解一下axis的概念,在DataFrame对象的大多数方法中,都会有axis这个参数,它控制了你指定的操作是沿着0轴还是1轴进行。axis=0代表操作对列columns进行,axis=1代表操作对行row进行,如下图所示。

    apply方法

    我们来通过例子理解一下这个方法的使用。例如,我们对data中的数值列分别进行取对数和求和的操作。这时使用apply进行相应的操作,两行代码可以很轻松地解决。

    (1)按列求和的实现过程

    因为是对列进行操作,所以需要指定axis=0。本次实现的底层,apply到底做了什么呢?我们来通过图解的方式理解一下:

    # 沿着0轴求和
    data[["height","weight","age"]].apply(np.sum, axis=0)
    

    (2)按列取对数的实现过程

    因为是对列进行操作,所以需要指定axis=0。本次实现的底层,apply到底做了什么呢?我们来通过图解的方式理解一下:

    # 沿着0轴求和
    data[["height","weight","age"]].apply(np.sum, axis=0)
    
    # 沿着0轴取对数
    data[["height","weight","age"]].apply(np.log, axis=0)
    

    当沿着轴0(axis=0)进行操作时,会将各列(columns)默认以Series的形式作为参数,传入到你指定的操作函数中,操作后合并并返回相应的结果。

    (3)按行计算BMI指数

    那我们实际应用过程中有没有(axis=1)的情况呢?例如,我们要根据数据集中的身高和体重计算每个人的BMI指数(体检时常用的指标,衡量人体肥胖程度和是否健康的重要标准),计算公式是:体重指数BMI=体重/身高的平方(国际单位kg/㎡)。

    这个操作需要对每个样本(行)进行计算,我们使用apply并指定axis=1来完成,代码和图解如下:

    def BMI(series):
        weight = series["weight"]
        height = series["height"]/100
        BMI = weight/height**2
        return BMI
    
    data["BMI"] = data.apply(BMI,axis=1)
    

    当apply设置了axis=1对行进行操作时,会默认将每一行数据以Series的形式(Series的索引为列名)传入指定函数,返回相应的结果。

    做个总结,DataFrame中应用apply方法:

    1. 当axis=0时,对每列columns执行指定函数;当axis=1时,对每行row执行指定函数。
    2. 无论axis=0还是axis=1,其传入指定函数的默认形式均为Series,可以通过设置raw=True传入numpy数组。
    3. 对每个Series执行结果后,会将结果整合在一起返回(若想有返回值,定义函数时需要return相应的值)
    4. 当然,DataFrame的apply和Series的apply一样,也能接收更复杂的函数,如传入参数等,实现原理是一样的,具体用法详见官方文档。

    3.2 applymap方法

    applymap是另一个DataFrame中可能会用到的方法,它会对DataFrame中的每个单元格执行指定函数的操作,如下例所示:

    df = pd.DataFrame(
        {
    
            "A":np.random.randn(5),
            "B":np.random.randn(5),
            "C":np.random.randn(5),
            "D":np.random.randn(5),
            "E":np.random.randn(5),
        }
    )
    

    applymap方法

    我们希望对DataFrame中所有的数保留两位小数显示,applymap可以帮助我们很快完成,代码和图解如下:

    df.applymap(lambda x:"%.2f" % x)
    

    资料与代码下载

    本教程系列的代码可以在ShowMeAI对应的 github 中下载,可本地python环境运行。能访问Google的宝宝也可以直接借助google colab一键运行与交互操作学习哦!

    本系列教程涉及的速查表可以在以下地址下载获取

    拓展参考资料

    ShowMeAI相关文章推荐

    ShowMeAI系列教程推荐

    展开全文
  • Pandas 数据类型

    千次阅读 2020-12-13 13:39:42
    Pandas 数据类型概览 简介 在进行数据分析时,确保使用正确的数据类型非常重要,否则可能会得到意想不到的结果或错误。对 Pandas 而言,它会在很多情况下正确地作出数据类型推断,你可以继续进行分析工作,而...

    Pandas 数据类型概览

    简介

    在进行数据分析时,确保使用正确的数据类型非常重要,否则可能会得到意想不到的结果或错误。对 Pandas 而言,它会在很多情况下正确地作出数据类型推断,你可以继续进行分析工作,而无需深入思考该主题。

    尽管 Pandas 工作得很好,但在数据分析过程中的某个时刻,你可能需要将数据从一种类型显式转换为另一种类型。本文将讨论 Pandas 的基本数据类型(即 dtypes),它们如何映射到 python numpy 数据类型,以及从一种 Pandas 类型转换为另一种类型的几个方式。

    Pandas 的数据类型

    数据类型本质上是编程语言用来理解如何存储和操作数据的内部结构。例如,一个程序需要理解你可以将两个数字加起来,比如 5 + 10 得到 15。或者,如果是两个字符串,比如「cat」和「hat」,你可以将它们连接(加)起来得到「cathat」。

    有关 Pandas 数据类型的一个可能令人困惑的地方是,PandasPython numpy 的数据类型之间有一些重叠。下表总结了关键点:

    Pandas dtype 映射:

    Pandas dtype

    Python 类型

    NumPy 类型

    用途

    object

    str

    string, unicode

    文本

    int64

    int

    int_, int8, int16, int32, int64, uint8, uint16, uint32, uint64

    整数

    float64

    float

    float_, float16, float32, float64

    浮点数

    bool

    bool

    bool_

    布尔值

    datetime64

    NA

    NA

    日期时间

    timedelta[ns]

    NA

    NA

    时间差

    category

    NA

    NA

    有限长度的文本值列表

    大多数情况下,你不必担心是否应该明确地将pandas类型强制转换为对应的 NumPy 类型。一般来说使用 Pandas 的默认 int64  float64 就可以。列出此表的唯一原因是,有时你可能会在代码行间或自己的分析过程中看到 Numpy 的类型。

    对于本文,我将重点关注以下 Pandas 类型:

    • object
    • int64
    • float64
    • datetime64
    • bool

    如果你有兴趣,我会再写一篇文章来专门介绍 category  timedelta 类型。不过本文中概述的基本方法也适用于这些类型。

    我们为什么关心类型?

    数据类型是在你遇到错误或意外结果之前并不会关心的事情之一。不过当你将新数据加载到 Pandas 进行进一步分析时,这也是你应该检查的第一件事情。

    我将使用一个非常简单的 CSV文件 来说明在 Pandas 中可能会遇到的一些常见的由数据类型导致的错误。另外,在 github 上也一个示例 notbook

    import numpy as np

    import pandas as pd

    df = pd.read_csv("sales_data_types.csv")

    Customer Number

    Customer Name

    2016

    2017

    Percent Growth

    Jan Units

    Month

    Day

    Year

    Active

    0

    10002.0

    Quest Industries

    $125,000.00

    $162500.00

    30.00%

    500

    1

    10

    2015

    Y

    1

    552278.0

    Smith Plumbing

    $920,000.00

    $101,2000.00

    10.00%

    700

    6

    15

    2014

    Y

    2

    23477.0

    ACME Industrial

    $50,000.00

    $62500.00

    25.00%

    125

    3

    29

    2016

    Y

    3

    24900.0

    Brekke LTD

    $350,000.00

    $490000.00

    4.00%

    75

    10

    27

    2015

    Y

    4

    651029.0

    Harbor Co

    $15,000.00

    $12750.00

    -15.00%

    Closed

    2

    2

    2014

    N

    乍一看,数据没什么问题,所以我们可以尝试做一些操作来分析数据。我们来试一下把 2016 2017 年的销售额加起来:

    df['2016'] + df['2017']

    0      $125,000.00$162500.00

    1    $920,000.00$101,2000.00

    2        $50,000.00$62500.00

    3      $350,000.00$490000.00

    4        $15,000.00$12750.00

    dtype: object

    这看起来就不对了。我们希望将总计加在一起,但 Pandas 只是将这两个值连接在一起创建了一个长字符串。这个问题的一个线索是 dtypeobjectobject  Pandas 代表字符串,所以它执行的是字符串操作而不是数学操作。

    如果我们想查看 dataframe 中的所有数据类型,使用 df.dtypes

    df.dtypes

    Customer Number    float64

    Customer Name       object

    2016                object

    2017                object

    Percent Growth      object

    Jan Units           object

    Month                int64

    Day                  int64

    Year                 int64

    Active              object

    dtype: object

    此外,df.info() 函数可以显示更有用的信息。

    df.info()

    <class 'pandas.core.frame.DataFrame'>

    RangeIndex: 5 entries, 0 to 4

    Data columns (total 10 columns):

    Customer Number    5 non-null float64

    Customer Name      5 non-null object

    2016               5 non-null object

    2017               5 non-null object

    Percent Growth     5 non-null object

    Jan Units          5 non-null object

    Month              5 non-null int64

    Day                5 non-null int64

    Year               5 non-null int64

    Active             5 non-null object

    dtypes: float64(1), int64(3), object(6)

    memory usage: 480.0+ bytes

    查看自动分配的数据类型后,有几个问题:

    • Customer Number 被归为 float64 但它应该是 int64
    • 2016  2017 这两列被存储为 object,但应该是 float64  int64 这样的数值类型
    • Percent Growth  Jan Units 也被存储为 object 而不是数值类型
    • MonthDay  Year 这三列应该被转换为 datetime64
    • Active 列应该是布尔型

    在我们清洗这些数据类型之前,要对这些数据做更多的附加分析是非常困难的。

    为了在 Pandas 中转换数据类型,有三个基本选项:

    • 使用 astype() 来强制转换到合适的 dtype
    • 创建一个自定义函数来转换数据
    • 使用 Pandas 的函数,例如 to_numeric()  to_datetime()

    使用 astype() 函数

    Pandas 数据列转换为不同类型的最简单方法就是用 astype()。例如,要将 Customer Number 转换为整数,我们可以这样调用:

    df['Customer Number'].astype('int')

    0     10002

    1    552278

    2     23477

    3     24900

    4    651029

    Name: Customer Number, dtype: int64

    为了真正修改原始 dataframe 中的客户编号(Customer Number),记得把 astype() 函数的返回值重新赋值给 dataframe,因为 astype() 仅返回数据的副本而不原地修改。

    df["Customer Number"] = df['Customer Number'].astype('int')

    df.dtypes

    Customer Number     int64

    Customer Name      object

    2016               object

    2017               object

    Percent Growth     object

    Jan Units          object

    Month               int64

    Day                 int64

    Year                int64

    Active             object

    dtype: object

    以下是客户编号(Customer Number)为整数的新 dataframe

    Customer Number

    Customer Name

    2016

    2017

    Percent Growth

    Jan Units

    Month

    Day

    Year

    Active

    0

    10002

    Quest Industries

    $125,000.00

    $162500.00

    30.00%

    500

    1

    10

    2015

    Y

    1

    552278

    Smith Plumbing

    $920,000.00

    $101,2000.00

    10.00%

    700

    6

    15

    2014

    Y

    2

    23477

    ACME Industrial

    $50,000.00

    $62500.00

    25.00%

    125

    3

    29

    2016

    Y

    3

    24900

    Brekke LTD

    $350,000.00

    $490000.00

    4.00%

    75

    10

    27

    2015

    Y

    4

    651029

    Harbor Co

    $15,000.00

    $12750.00

    -15.00%

    Closed

    2

    2

    2014

    N

    这一切看起来不错,并且似乎很简单。让我们尝试对 2016 列做同样的事情并将其转换为浮点数:

    df['2016'].astype('float')

    ValueError       Traceback (most recent call last)

    <ipython-input-45-999869d577b0> in <module>()

    ----> 1 df['2016'].astype('float')

    [一些错误信息]

    ValueError: could not convert string to float: '$15,000.00'

    以类似的方式,我们可以尝试将 Jan Units 列转换为整数:

    df['Jan Units'].astype('int')

    ValueError         Traceback (most recent call last)

    <ipython-input-44-31333711e4a4> in <module>()

    ----> 1 df['Jan Units'].astype('int')

    [一些错误信息]

    ValueError: invalid literal for int() with base 10: 'Closed'

    这两个都返回 ValueError 异常,这意味着转换不起作用。

    在这两个例子中,数据都包含不能被解释为数字的值。在销售额(2016)列中,数据包括货币符号以及每个值中的逗号。在 Jan Units 列中,最后一个值是 "Closed",它不是一个数字;所以我们得到了异常。

    到目前为止,astype() 作为工具看起来并不怎么好。我们在 Active 列中再试一次。

    df['Active'].astype('bool')

    0    True

    1    True

    2    True

    3    True

    4    True

    Name: Active, dtype: bool

    第一眼,这看起来不错,但经过仔细检查,存在一个大问题。所有的值都被解释为 True,但最后一个客户有一个 N 的活动(Active)标志,所以这并不正确。

    这一节的重点是 astype() 只有在下列情况下才能工作:

    • 数据是干净的,可以简单地解释为一个数字
    • 你想要将一个数值转换为一个字符串对象

    如果数据具有非数字字符或它们间不同质(homogeneous),那么 astype() 并不是类型转换的好选择。你需要进行额外的变换才能完成正确的类型转换。

    展开全文
  • 本文主要介绍Pandas中的数据统计方法,包括value_counts,groupby,pivot_table。

    本文主要介绍Pandas中的数据统计方法,部分使用的数据集为MovieLen 1M版本(m1-1m.zip)数据集。

    import numpy as np
    import pandas as pd
    
    #加载数据集
    fpath = r'datasets//'
    
    usercol = ['uid','sex','age','occupation','zip']
    ratcol = ['uid','mid','rating','timestamp']
    movcol = ['mid','title','genres']
    
    users = pd.read_table(fpath+'users.dat',sep='::',header=None, names=usercol,engine='python')
    ratings = pd.read_table(fpath+'ratings.dat',sep='::',header=None, names=ratcol,engine='python')
    movies = pd.read_table(fpath+'movies.dat',sep='::',header=None,names=movcol,engine='python')
    data = pd.merge(pd.merge(users,ratings),movies)
    

    1 简单统计

    unique计算Series中的唯一值数组,按发现的顺序返回。
    value_counts返回一个Series,索引为唯一值,值为频率,按计数值降序排列。

    data.age.unique()
    

    在这里插入图片描述

    data.age.value_counts()
    

    在这里插入图片描述

    2 groupby

    分组运算的过程被描述为split-apply-combine:数据根据提供的一个或多个键被拆分(split)为多组,拆分操作在对象的特定轴上执行的;然后将一个函数应用(apply)到各个分组并产生一个新值;最后所有函数的执行结果会被合并(combine)到最终的结果对象中。

    在这里插入图片描述

    import pandas as pd 
    import numpy as np
    df = pd.DataFrame({'col1':['a','a','b','b','a'],
                       'col2':['one','two','one','two','one'],
                       'data1': np.random.randn(5),
                       'data2': np.random.randn(5)})
    df
    

    在这里插入图片描述
    groupby方法形成一个Groupby对象,没有进行任何实际计算,只是含有一些有关分组键的中间数据,即该对象已包含接下来对各分组执行运算所需的一切信息。

    grouped = df.groupby(['col1','col2'])
    grouped.mean()
    

    在这里插入图片描述

    3 pivot table

    透视表(pivot table)根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域中。pivot_table()函数除能为groupby提供便利外,还可以添加分项小计(margins)。

    pivot_table(values,index,columns,aggfunc,fill_value)

    主要参数如下:

    • values:数据透视表中的值
    • index:数据透视表中的行
    • columns:数据透视表中的列
    • aggfunc:统计函数(应用到values上)
    • fill_value:替换NA值
    df.pivot_table(index='col1',aggfunc='mean')
    #df.groupby(['col1']).mean()
    

    在这里插入图片描述

    df.pivot_table('data1',index='col1',aggfunc='mean')
    #df.groupby(['col1']).data1.mean()
    

    在这里插入图片描述

    df.pivot_table(['data1','data2'],index='col2',columns='col1',aggfunc='mean')
    #df.groupby(['col1','col2']).mean().unstack()
    

    在这里插入图片描述

    展开全文
  • pandas练习数据集.zip

    2020-05-01 08:30:20
    pandas的三道综合小练习,需要的数据集。 2002年-2018年上海机动车拍照拍卖.csv 美国确证数.csv 美国死亡数.csv 2007年-2019年俄罗斯货运航班运载量.csv 文件来源网络,如有侵权,请联系删除,谢谢!
  • 数据分析离不开数据运算,在介绍完pandas数据加载、排序和排名、数据清洗之后,本文通过实例来介绍pandas的常用数据运算,包括逻辑运算、算术运算、统计运算及自定义运算。
  • 数据分析和建模的过程中,有相当多的时间要用在数据准备上:加载、清理、转换...本文重点介绍通过pandas进行数据的清洗。数据处理中的清洗工作主要包括对需要分析的数据集中的缺失值(空值)、重复值、异常值的处理。
  • pandas数据分析之数据绘图

    千次阅读 2022-02-16 11:04:06
    一图胜千言,将信息可视化(绘图)是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外,还可以帮助我们找...pandas数据分析、数据可视化方面有着较为广泛的应用。本文将通过实例介绍pandas数据绘图。
  • python pandas数据处理常用方法

    千次阅读 2022-01-28 15:46:30
    pandas数据处理
  • pandas数据清洗的7种方式

    千次阅读 2021-08-26 00:53:07
    1.处理数据中的空值我们在处理真实的数据时,往往会有很多缺少的的特征数据,就是所谓的空值,必须要进行处理才能进行下一步分析空值的处理方式有很多种,一般是删除或者填充Excel通过“查找和替...
  • Pandas数据处理与分析

    万次阅读 多人点赞 2018-12-04 15:56:43
    Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具,而且Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。他主要有以下功能: 为浮点数和与浮点数精度丢失提供了简易的...
  • pandas 入门(pandas 数据结构介绍)

    千次阅读 多人点赞 2020-06-29 22:28:43
    pandas 数据结构介绍 一、pandas基础数据结构 1、pandas中主要有两种数据结构:Series和 DataFrame。 2、Series:一种一维的数组型对象,它包含了一个值序列(与 NumPy中的类型相似),并且包含了数据标签,...
  • pandas数据生成与读写

    千次阅读 2021-12-02 10:35:53
    Pandas 基本操作生成与读写操作数据生成(DataFrame 与 Series)DataFrameSeries读写数据文件索引、选择与赋值基于索引的选择基于标签(label)的选择条件选择赋值 生成与读写操作 数据生成(DataFrame 与 Series) ...
  • (八)Pandas 数据类型

    千次阅读 2020-12-01 17:51:13
    目录一:Numpy的数据类型:1:ndarray: n维数组类型:2: pandas数据类型:二:数据类型转换:1: 转换成字符串对象:2:转换成数值类型:3:变量变成数值类型:三:分类数据:1:转换成category类型的数据: ...
  • pandas 数据导出为excel

    千次阅读 2022-03-27 14:44:58
    今天分享一个pandas数据导出到excel的小小经验。默认你已经学会了怎么初始化数据到pandas中。这里只分享导出。 导出到 # file_path 需要保存的文件路径 # table pandas DataFrame对象 writer = pd....
  • 依旧是学校作业 数据:wechart.csv(微信公众号后台数据),数据说明如下: ...import pandas as pd import os import csv import matplotlib.pyplot as plt data = pd.read_csv( r"./wechart.csv") #读取文件中
  • pandas入门(三):pandas数据分组

    千次阅读 2022-04-02 14:44:27
    在SQL 中需要对数据进行分组操作,这是现实在处理数据中经常用到的,SQL 的group by 语句较为灵活的满足了这一个需求,同样的对于pandas 来说,也有分组的功能,甚至有些用法比 SQL 来的方便多了。 如果用SQL语句的...
  • pandas 数据比对

    千次阅读 2020-05-29 13:40:32
    1,进行数据匹配 merge 统一排序 category # merge df_load.columns = df_my.columns s_index = df_load['产品名称'] df_my_compare = pd.merge(s_index,df_my,on='产品名称') #统一排序 df_loadcolumns = df_...
  • pandas数据划分区间

    千次阅读 2020-11-12 14:25:14
    pandas数据划分区间 在数据分析的过程中,经常会遇到:年龄,收入,价格以及类似的数据,在数据分析前,需要将这些数据划分到一系列区间中,再将区间进行不同的编码,对编码后的数据进行分析。 在pandas中可以...
  • pandas数据分析之绘图方法详解

    千次阅读 2020-06-25 12:39:21
    之前介绍过matplotlib plot方法的详细用法,今天来介绍一下pandas中绘图方法,pandas中封装的绘图方法本质上还是调用了matplotlib的绘图方法。 基础绘图方法plot,pandas中Series和DataFrame的plot方法是包装自...
  • pandas数据框转换为NumPy数组

    千次阅读 2020-05-19 09:07:34
    I am interested in knowing how to convert a pandas dataframe into a NumPy array. 我对知道如何将熊猫数据框转换为Num
  • Pandas系列(七)Pandas数据排序

    千次阅读 2020-08-14 21:39:54
    文章目录读取数据Series的排序:DataFrame的排序:单列排序多列排序分别指定升序和降序 读取数据   读取的数据如下: Series的排序: Series.sort_values(ascending=True, inplace=False)   参数说明: ...
  • Pandas数据的相关性分析

    千次阅读 2020-03-03 19:13:02
    本文的主要内容是基于中国大学mooc(慕课)中的“Python数据分析与可视化”课程进行整理和总结。 两个事物,表示成X和Y,如何判断他们之间的相关性? X增大,Y也增大,两个变量正相关; X增大,Y减小,两个变量负...
  • Pandas中可以借助groupby操作对Dataframe分组操作,本文介绍groupby的基本原理及对应的agg、transform和apply方法与操作。
  • 15.Pandas使用stack和pivot实现数据透视 ...笔者最近正在学习Pandas数据分析,将自己的学习笔记做成一套系列文章。本节主要记录Pandas中使用stack和pivot实现数据透视。 经过统计得到多维度指标数据 使用un
  • python数据分析pandas快速入门教程,电子版书籍,带你学习python使用pandas数据处理
  • 以下是记录自己数据分析的一次历程,包括使用pandas进行数据去重、筛选、合并、获取目录内容进行匹配,其中遇到了数据表的存储和重新获取以固定表结构。包括两个表的合并,合并后数据字段的修改、筛选。最后将结果...
  • Pandas数据类型转换的几个小技巧

    千次阅读 2021-01-28 11:11:22
    利用Pandas进行数据分析时,确保使用正确的数据类型是非常重要的,否则可能会导致一些不可预知的错误发生。笔者使用Pandas已经有一段时间了,但是还是会在一些小问题上犯错误,追根溯源发现在对数据进行操作时某些...
  • Python遍历pandas数据方法总结

    万次阅读 2019-03-16 17:32:43
    Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。其中Pandas定义了Series 和 DataFrame两种数据类型,这使数据操作变得更简单。Series 是一种一维的数据结构,类似于将列表数据值与索引...
  • Pandas数据分析①——数据读取(CSV/TXT/JSON)

    万次阅读 多人点赞 2019-06-03 22:52:01
    一、CSV读取和导出 ...存储路径最好全英文,或直接放入pandas默认的存储路径 名字也纯英文 二、TXT读取和导出 ①基本参数 ②注意事项: sep = ‘\s+’ encoding=‘utf-8’ 三、JSON读取和导出 ①python自带方式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 305,647
精华内容 122,258
关键字:

pandas数据