首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python数据科学系列:pandas入门详细教程

、切片访问、通函数、广播机制等 series是带标签的一维数组,所以还可以看做是类字典结构:标签是key,取值是value;而dataframe则可以看做是嵌套字典结构,其中列名是key,每一列的series...考虑series和dataframe兼具numpy数组和字典的特性,那么就不难理解二者的以下属性: ndim/shape/dtypes/size/T,分别表示了数据的维数、形状、数据类型和元素个数以及转置结果...前者是将已有的一列信息设置为标签列,而后者是将原标签列归为数据,并重置为默认数字标签 set_axis,设置标签列,一次只能设置一列信息,与rename功能相近,但接收参数为一个序列更改全部标签列信息(...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....groupby,类比SQL中的group by功能,即按某一列或多列执行分组。

15.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pandas

    包括索引index和表头columns:   其中data可以是很多类型: 包含列表、字典或者Series的字典 二维数组 一个Series对象 另一个DataFrame对象 5.dataframe保存进...原因: writer.save()接口已经私有化,close()里面有save()会自动调用,将writer.save()替换为writer.close()即可 更细致的操作: 可以添加更多的参数,比如...using .loc[row_indexer,col_indexer] = value instead 问题:当向列表中增加一列时,需要先将变量复制一份,再添加才可以 a=a.copy()..._append(temp, ignore_index=True) pandas数据转置 与矩阵相同,在 Pandas 中,我们可以使用 .transpose() 方法或 .T 属性来转置 我们的DataFrame...对象,将列表作为一列数据 df = pd.DataFrame(data, columns=['姓名']) df_transposed = df.T # 保存为行 # 将 DataFrame

    13010

    Pandas 25 式

    目录 查看 pandas 及其支持项的版本 创建 DataFrame 重命名列 反转行序 反转列序 按数据类型选择列 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame...创建 DataFrame 创建 DataFrame 的方式有很多,比如,可以把字典传递给 DataFrame 构建器,字典的 Key 是列名,字典的 Value 为列表,是 DataFrame 的列的值...这样就可以生成 DataFrame 了,但如果要用非数字形式的列名,需要强制把字符串转换为列表, 再把这个列表传给 columns 参数。 ?...用多个文件建立 DataFrame ~ 按列 上个技巧按行合并数据集,但是如果多个文件包含不同的列,该怎么办? 本例将 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 列。 ?...把 Series 里的列表转换为 DataFrame 创建一个 DataFrame 示例。 ? 这里包含了两列,第二列包含的是 Python 整数列表。

    8.4K00

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    目录 查看 pandas 及其支持项的版本 创建 DataFrame 重命名列 反转行序 反转列序 按数据类型选择列 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame...创建 DataFrame 创建 DataFrame 的方式有很多,比如,可以把字典传递给 DataFrame 构建器,字典的 Key 是列名,字典的 Value 为列表,是 DataFrame 的列的值...这样就可以生成 DataFrame 了,但如果要用非数字形式的列名,需要强制把字符串转换为列表, 再把这个列表传给 columns 参数。 ?...用多个文件建立 DataFrame ~ 按列 上个技巧按行合并数据集,但是如果多个文件包含不同的列,该怎么办? 本例将 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 列。 ?...把 Series 里的列表转换为 DataFrame 创建一个 DataFrame 示例。 ? 这里包含了两列,第二列包含的是 Python 整数列表。

    7.2K20

    【Python环境】Python中的结构化数据分析利器-Pandas简介

    因此对于DataFrame来说,每一列的数据结构都是相同的,而不同的列之间则可以是不同的数据结构。...从列表的字典构建DataFrame,其中嵌套的每个列表(List)代表的是一个列,字典的名字则是列标签。这里要注意的是每个列表中的元素数量应该相同。...否则会报错: ValueError: arrays must all be same length 从字典的列表构建DataFrame,其中每个字典代表的是每条记录(DataFrame中的一行),字典中每个值对应的是这条记录的相关属性...DataFrame转换为其他类型 df.to_dict(outtype='dict') outtype的参数为‘dict’、‘list’、‘series’和‘records’。...dict返回的是dict of dict;list返回的是列表的字典;series返回的是序列的字典;records返回的是字典的列表 查看数据 head和tail方法可以显示DataFrame前N条和后

    15.1K100

    python数据分析——数据分类汇总与统计

    1.1按列分组 按列分组分为以下三种模式: 第一种: df.groupby(col),返回一个按列进行分组的groupby对象; 第二种: df.groupby([col1,col2]),返回一个按多列进行分组的...程序代码如下所示: people.groupby(len).sum() 将函数跟数组、列表、字典、Series混合使用也不是问题,因为任何东西在内部都会被转换为数组 key_list = ['one',...如果不想接收GroupBy自动给出的那些列名,那么如果传入的是一个由(name,function)元组组成的列表,则各元组的第一个元素就会用作DataFrame的列名(可以将这种二元元组列表看做一个有序映射...具体的办法是向agg传入一个从列名映射到函数的字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化的列 2.3.返回不含行索引的聚合数据 到目前为止,所有例中的聚合数据都有由唯一的分组键组成的索引...下面是一些有关美国几个州的示例数据,这些州又被分为东部和西部: [‘East’] * 4产生了一个列表,包括了[‘East’]中元素的四个拷贝。将这些列表串联起来。

    83910

    Pandas全景透视:解锁数据科学的黄金钥匙

    DataFrame的一列就是Series,Series可以转化为DataFrame,调用方法函数to_frame()即可 Series 是 pandas 中的一种数据结构,可以看作是带有标签的一维数组。...底层使用C语言:Pandas的许多内部操作都是用Cython或C语言编写的,Cython是一种Python的超集,它允许将Python代码转换为C语言代码,从而提高执行效率。...0或’index’,表示按行删除;1或’columns’,表示按列删除。inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。...Series 的数据类型转换为指定的数据类型举个例子import pandas as pd# 创建一个 Seriess = pd.Series([1, 2, 3, 4])# 使用 astype() 方法将...11 22 33 4dtype: object⑥.pd.cut()函数将连续性数值进行离散化处理:如对年龄、消费金额等进行分组pandas.cut(x, bins, right=True

    11710

    groupby函数详解

    1 groupby()核心用法 (1)根据DataFrame本身的某一列或多列内容进行分组聚合,(a)若按某一列聚合,则新DataFrame将根据某一列的内容分为不同的维度进行拆解,同时将同一维度的再进行聚合...(len).sum() #将字符串长度相同的行进行求和 分组键为函数和数组、列表、字典、Series的组合 引入列表list[ ] 将函数跟数组、列表、字典、Series混合使用作为分组键进行聚合,因为任何东西最终都会被转换为数组...GroupBy的size方法,将返回一个含有分组大小的Series .apply() .agg() (4)对聚合后的数据片段,进行字典、列表等格式转化 将数据片段转为字典 pieces=pieces...本身的某一列或多列内容进行分组聚合 #创建原始数据集 import pandas as pd import numpy as np df=pd.DataFrame({ 'key1':['a',...、自定义列表、自定义Series、函数或者函数与自定义数组、列表、字典、Series的组合,作为分组键进行聚合 #创建原始数据集 people=pd.DataFrame(np.random.randn(

    3.8K11

    最全面的Pandas的教程!没有之一!

    上面的 data 参数可以是任意数据对象,比如字典、列表甚至是 NumPy 数组,而index 参数则是对 data 的索引值,类似字典的 key。...以及用一个字典来创建 DataFrame: ? 获取 DataFrame 中的列 要获取一列的数据,还是用中括号 [] 的方式,跟 Series 类似。...的索引值 类似地,我们还可以用 .set_index() 方法,将 DataFrame 里的某一列作为索引来用。...分组统计 Pandas 的分组统计功能可以按某一列的内容对数据行进行分组,并对其应用统计函数,比如求和,平均数,中位数,标准差等等… 举例来说,用 .groupby() 方法,我们可以对下面这数据表按...,index 表示按该列进行分组索引,而 columns 则表示最后结果将按该列的数据进行分列。

    26K64

    python数据分析——数据分类汇总与统计

    按列分组 按列分组分为以下三种模式: df.groupby(col),返回一个按列进行分组的groupby对象; df.groupby([col1,col2]),返回一个按多列进行分组的groupby...程序代码如下所示: people.groupby(len).sum() 将函数跟数组、列表、字典、Series混合使用也不是问题,因为任何东西在内部都会被转换为数组 key_list = ['one',...如果不想接收GroupBy自动给出的那些列名,那么如果传入的是一个由(name,function)元组组成的列表,则各元组的第一个元素就会用作DataFrame的列名(可以将这种二元元组列表看做一个有序映射...具体的办法是向agg传入一个从列名映射到函数的字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化的列 返回不含行索引的聚合数据 到目前为止,所有例中的聚合数据都有由唯一的分组键组成的索引...它可以改变时间序列数据的频率,将数据从高频率转换为低频率(如从天到月),或者将数据从低频率转换为高频率(如从月到天)。重采样可以帮助我们对数据进行更好的分析和可视化。

    14610

    数据导入与预处理-第6章-02数据变换

    2.2 轴向旋转(6.2.2 ) 掌握pivot()和melt()方法的用法,可以熟练地使用这些方法实现轴向旋转操作 2.2.1 pivot方法 pivot()方法用于将DataFrame类对象的某一列数据转换为列索引...,商品一列的唯一数据变换为列索引: # 将出售日期一列的唯一数据变换为行索引,商品一列的唯一数据变换为列索引 new_df = df_obj.pivot(index='出售日期', columns='商品名称...() 2.3.1.1 分组操作 pandas中使用groupby()方法根据键将原数据拆分为若干个分组。...,可以取值为字符串、列表、字典或Series、函数等。...# 字典中包含多个DataFrame result 输出为: 通过groups获取内容 # 查看全部分组内容 df_obj.groupby(["key"]).groups 输出为:

    19.3K20

    盘点66个Pandas函数,轻松搞定“数据清洗”!

    英文大小写转换 pad/center 在字符串的左边、右边或左右两边添加给定字符 repeat 重复字符串几次 slice_replace 使用给定的字符串,替换指定的位置的字符 split 分割字符串,将一列扩展为多列...df.rename(columns={'mark': 'sell'}, inplace=True) 输出: 行列转置,我们可以使用T属性获得转置后的DataFrame。...melt()方法可以将宽表转长表,即表格型数据转为树形数据。...df.melt(id_vars="姓名", var_name="科目", value_name="成绩") 输出: pivot()方法可以将长表转宽表,即树形数据转为表格型数据。...] Series 按数字索引选择行 df.iloc[loc] Series 使用切片选择行 df[:5] DataFrame 用表达式筛选行[3] df[bool_vec] DataFrame 除此以外

    3.8K11

    Pandas速查卡-Python数据科学

    pd.read_clipboard() 获取剪贴板的内容并将其传递给read_table() pd.DataFrame(dict) 从字典、列名称键、数据列表的值导入 输出数据 df.to_csv(...s.loc['index_one'] 按索引选择 df.iloc[0,:] 第一行 df.iloc[0,0] 第一列的第一个元素 数据清洗 df.columns = ['a','b','c'] 重命名列...(均值可以用统计部分中的几乎任何函数替换) s.astype(float) 将数组的数据类型转换为float s.replace(1,'one') 将所有等于1的值替换为'one' s.replace(...[1,3],['one','three']) 将所有1替换为'one',将3替换为'three' df.rename(columns=lambda x: x + 1) 批量重命名列 df.rename(...) 将col1按升序排序,然后按降序排序col2 df.groupby(col) 从一列返回一组对象的值 df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1

    9.2K80

    Pandas中的这3个函数,没想到竟成了我数据处理的主力

    应用到DataFrame的每个Series DataFrame是pandas中的核心数据结构,其每一行和每一列都是一个Series数据类型。...,其中前者对应apply的接收函数处理一行或一列,后者对应接收函数处理每个分组对应的子DataFrame,最后根据作用对象类型设计相应的接收函数,从而完成个性化的数据处理。...而在Pandas框架中,这两种含义都有所体现:对一个Series对象的每个元素实现字典映射或者函数变换,其中后者与apply应用于Series的用法完全一致,而前者则仅仅是简单将函数参数替换为字典变量即可...applymap是将接收函数应用于DataFrame的每个元素,以实现相应的变换。...分组后的group DataFrame,分别实现元素级、Series级以及DataFrame级别的数据变换; map仅可作用于Series实现元素级的变换,既可以接收一个字典完成变化也可接收特定的函数,

    2.5K10

    Python常用小技巧总结

    小技巧 pandas生成数据 导入数据 导出数据 查看数据 数据选择 数据处理 数据分组 数据合并 数据替换--map映射 数据清洗--replace和正则 数据透视表分析--melt函数 将分类中出现次数较少的值归为...合并字典 字符串分割成列表 字符串列表创建字符串 Python查看图片 itertools模块combinations itertools中reduce 字典.get()方法 解压zip压缩包到指定文件路径...降序排列数据 df.groupby(col) # 返回⼀个按列col进⾏分组的Groupby对象 df.groupby([col1,col2]) # 返回⼀个按多列进⾏分组的Groupby对象 df.groupby...(col1)[col2].agg(mean) # 返回按列col1进⾏分组后,列col2的均值,agg可以接受列表参数,agg([len,np.mean]) df.pivot_table(index=...()实现Series转DataFrame 利用squeeze()实现单列数据DataFrame转Series s = pd.Series([1,2,3]) s 0 1 1 2 2 3

    9.4K20
    领券