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

Python数据分析-pandas库入门

pandas 兼具 NumPy 高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,能更加便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。...也可以通过Series 的 values 和 index 属性获取其数组表示形式和索引对象,代码示例: obj.values obj.index # like range(5) 输出: array([...DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)。DataFrame 中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...例如,我们可以给那个空的 “debt” 列赋上一个标量值或一组值(数组或列表形式),代码示例: frame2.debt = np.arange(6.) frame2 注意:将列表或数组赋值给某个列时,...另一种常见的数据形式是嵌套字典,如果嵌套字典传给 DataFrame,pandas 就会被解释为:外层字典的键作为列,内层键则作为行索引,代码示例: #DataFrame另一种常见的数据形式是嵌套字典

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

    Pandas vs Spark:获取指定列的N种方式

    导读 本篇继续Pandas与Spark常用操作对比系列,针对常用到的获取指定列的多种实现做以对比。...无论是pandas的DataFrame还是spark.sql的DataFrame,获取指定一列是一种很常见的需求场景,获取指定列之后可以用于提取原数据的子集,也可以根据该列衍生其他列。...,此处用单个列名即表示提取单列,提取结果为该列对应的Series,若是用一个列名组成的列表,则表示提取多列得到一个DataFrame子集; df.iloc[:, 0]:即通过索引定位符iloc实现,与loc...类似,只不过iloc中传入的为整数索引形式,且索引从0开始;仍与loc类似,此处传入单个索引整数,若传入多个索引组成的列表,则仍然提取得到一个DataFrame子集。...:Spark中的DataFrame每一列的类型为Column、行为Row,而Pandas中的DataFrame则无论是行还是列,都是一个Series;Spark中DataFrame有列名,但没有行索引,

    11.5K20

    python数据分析笔记——数据加载与整理

    2、当文件没有标题行时 可以让pandas为其自动分配默认的列名。 也可以自己定义列名。 3、将某一列作为索引,比如使用message列做索引。通过index_col参数指定’message’。...4、要将多个列做成一个层次化索引,只需传入由列编号或列名组成的列表即可。...5、文本中缺失值处理,缺失数据要么是没有(空字符串),要么是用某个标记值表示的,默认情况下,pandas会用一组经常出现的标记值进行识别,如NA、NULL等。查找出结果以NAN显示。...(2)对于pandas对象(如Series和DataFrame),可以pandas中的concat函数进行合并。...一对一替换:用np.nan替换-999 多对一替换:用np.nan替换-999和-1000. 多对多替换:用np.nan代替-999,0代替-1000. 也可以使用字典的形式来进行替换。

    6.1K80

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

    与此同时,series因为只有一列,所以数据类型自然也就只有一种,pandas为了兼容二者,series的数据类型属性既可以用dtype也可以用dtypes获取;而dataframe则只能用dtypes...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...groupby,类比SQL中的group by功能,即按某一列或多列执行分组。...另外,均支持两种形式的绘图接口: plot属性+相应绘图接口,如plot.bar()用于绘制条形图 plot()方法并通过传入kind参数选择相应绘图类型,如plot(kind='bar') ?

    15.1K20

    干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML

    索引可以是一列连续的数字(就像Excel中的行号)或日期;你还可以设定多列索引。索引列并不是数据(即便打印DataFrame对象时你会在屏幕上看到索引)。...拿最新的XLSX格式来说,Excel可以在单个工作表中存储一百多万行及一万六千多列。 1. 准备 要实践这个技法,你要先装好pandas模块。此外没有要求了。 2....在我们的例子中,我们还指定了index=False,这样不会保存索引;默认情况下,.to_excel(...)方法保存A列的索引。 4....我们使用表达式生成价格的列表。如代码所示,对于列表对象,你可以调用.index(...)方法查找某一元素首次出现的位置。 5. 参考 查阅pandas文档中read_excel的部分。...可以以列表的形式传入;在我们的例子中,就是['IATA', 'Airport_name']。

    8.4K20

    Pandas个人操作练习(1)创建dataframe及插入列、行操作

    ),dict或DataFrame,Dict可以包含Series,数组,常量或类似列表的对象 index:dataframe的索引,如果没有自定义,则默认为RangeIndex(0,1,2,…,n) columns...label':[random.randint(0,1) for _ in range(3000)] } df = pd.DataFrame(data = data) 二、dataframe插入列/多列...添加一列数据,,把dataframe如df1中的一列或若干列加入另一个dataframe,如df2 思路:先把数据按列分割,然后再把分出去的列重新插入 df1 = pd.read_csv(...df2.insert(0,’date’,date) (3)默认插入到最后一列 df2[‘date’] = date 2.2插入多列 假如dataframe1.shape=(5,4...: insertRow2_index = df4[df4.Bool == 3].index.tolist() .根据索引获取这两行的值: insertRow2 = [] for x in insertRow2

    2.1K20

    Python面试十问2

    一、如何使用列表创建⼀个DataFrame # 导入pandas库 import pandas as pd # 创建一个列表,其中包含数据 data = [['A', 1], ['B', 2], ['...df.info():主要用于提供关于DataFrame的一般信息,如列索引、数据类型、非空值数量以及内存使用情况。它不会提供数值型数据的统计摘要,而是更多地关注于数据集的整体结构和数据类型。...五、pandas中的索引操作 pandas⽀持四种类型的多轴索引,它们是: Dataframe.[ ] 此函数称为索引运算符 Dataframe.loc[ ] : 此函数⽤于标签 Dataframe.iloc...语法: DataFrame.set_index(keys, inplace=False) keys:列标签或列标签/数组列表,需要设置为索引的列 inplace:默认为False,适当修改DataFrame...先分组,再⽤ sum()函数计算每组的汇总数据  多列分组后,⽣成多层索引,也可以应⽤ sum 函数 分组后可以使用如sum()、mean()、min()、max()等聚合函数来计算每个组的统计值。

    8810

    一文介绍Pandas中的9种数据访问方式

    通常情况下,[]常用于在DataFrame中获取单列、多列或多行信息。具体而言: 当在[]中提供单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ...."访问 切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...例如,当标签列类型(可通过df.index.dtype查看)为时间类型时,若使用无法隐式转换为时间的字符串作为索引切片,则引发报错 ? 切片形式返回行查询,且为范围查询 ?...切片类型与索引列类型不一致时,引发报错 2. loc/iloc,可能是除[]之外最为常用的两种数据访问方法,其中loc按标签值(列名和行索引取值)访问、iloc按数字索引访问,均支持单值访问或切片查询...4. isin,条件范围查询,一般是对某一列判断其取值是否在某个可迭代的集合中。即根据特定列值是否存在于指定列表返回相应的结果。 5. where,妥妥的Pandas仿照SQL中实现的算子命名。

    3.8K30

    Python 数据处理:Pandas库的使用

    可以通过Series的values和index属性获取其数组表示形式和索引对象: import pandas as pd obj = pd.Series([4,7,-5,3]) print(obj.values...另一种常见的数据形式是嵌套字典,如果嵌套字典传给DataFrame, Pandas 就会被解释为:外层字典的键作为列,内层键则作为行索引: import pandas as pd pop1 = {'...字典键或Series索引的并集将会成为DataFrame的列标 由列表或元组组成的列表 类似于“二维ndarray" 另一个DataFrame 该DataFrame的索引将会被沿用,除非显式指定了其他索引...作为一个初步示例,让我们通过标签选择一行和多列: import pandas as pd data = pd.DataFrame(np.arange(16).reshape((4, 4)),...通过标签选取行或列 get_value, set_value 通过行和列标签选取单一值 ---- 2.5 整数索引 处理整数索引的 Pandas 对象常常难住新手,因为它与 Python 内置的列表和元组的索引语法不同

    22.8K10

    最近,又发现了Pandas中三个好用的函数

    所以,对于一个DataFrame,我们可以方便的使用类似字典那样,根据一个列名作为key来获取对应的value值,例如在上述DataFrame中: 当然,这是Pandas中再基础不过的知识了,这里加以提及是为了引出...在我初次看到这两个API时,直觉想法就是items显式的以列表形式返回各个item信息,而iteritems则以迭代器的形式返回各个item信息。...iteritems的更多文档部分可自行查看 笔者猜测,可能是在早期items确实以列表形式返回,而后来优化升级为以迭代器形式返回了。不过在pandas文档中简单查阅,并未找到相关描述。...那么,说了这么多,iteritems到底有什么用呢?...itertuples中的name参数加以修改;另外,注意到在每个namedtuple都包含了4个元素,除了A、B、C三个列取值外,还以index的形式返回了行索引信息,这可以通过itertuples中的

    2K10

    数据处理利器pandas入门

    import pandas as pd s=pd.Series([5,4,3,2,1], index=['a', 'c', 'e', 3, 1]) ⚠️ 创建时给定了一个列表: [5,4,3,2,1...如果仅给定列表,不指定index参数,默认索引为从0开始的数字。注意:索引标签为字符串和整数的混合类型。记住不要使用浮点数作为索引,并且尽量避免使用混合类型索引。...读取数据 data = pd.read_csv('china_sites_20170101.csv', sep=',') 由于文件中存储了多行多列数据,因此,完全读取之后 data 为 DataFrame...Pandas主要有两种数据查询选择操作: 基于标签的查询 基于整数的位置索引查询 Pandas在选择列时,无需使用 date[:, columns] 的形式,先使用 : 选择所有行,再指定 columns...有时候这种存储形式并不方便,我们想要为以下形式: ? 即获取每个站点时,可以直接获取当前站点的所有要素数据,而且时间索引也按照单个时刻排列,索引不会出现重复值,而之前的存储形式索引会出现重复。

    3.7K30

    Python数据分析笔记——Numpy、Pandas库

    也可以在创建Series的时候为值直接创建索引。 b、通过字典的形式来创建Series。 (3)获取Series中的值 通过索引的方式选取Series中的单个或一组值。...DataFrame既有行索引也有列索引,其中的数据是以一个或多个二维块存放的,而不是列表、字典或别的一维数据结构。...(3)获取DataFrame的值(行或列) 通过查找columns值获取对应的列。(下面两种方法) 通过索引字段ix查找相应的行。 (4)对列进行赋值处理。 对某一列可以赋一个标量值也可以是一组值。...也可以给某一列赋值一个列表或数组,其长度必须跟DataFrame长度相匹配。如果赋值的是一个Series,则对应的索引位置将被赋值,其他位置的值被赋予空值。...obj.rank() (2)DataFrame数据结构的排序和排名 按索引值进行排列,一列或多列中的值进行排序,通过by将列名传递给sort_index. 5、缺失数据处理 (1)滤出缺失数据 使用data.dropna

    6.4K80

    DataFrame和Series的使用

    中的列表非常相似,但是它的每个元素的数据类型必须相同 创建 Series 的最简单方法是传入一个Python列表 import pandas as pd s = pd.Series([ ' banana...df.info() Pandas与Python常用数据类型对照 加载筛选数据 df根据列名加载部分列数据:加载一列数据,通过df['列名']方式获取,加载多列数据,通过df[['列名1','列名2',...df按行加载部分数据:先打印前5行数据 观察第一列 print(df.head()) 最左边一列是行号,也就是DataFrame的行索引 Pandas默认使用行号作为行索引。...传入的是索引的序号,loc是索引的标签 使用iloc时可以传入-1来获取最后一行数据,使用loc的时候不行 loc和iloc属性既可以用于获取列数据,也可以用于获取行数据 df.loc[[行],[列]...[:,[0,2,4,-1]] df.iloc[:,0:6:2] # 所有行, 第0 , 第2 第4列 可以通过行和列获取某几个格的元素 分组和聚合运算 先将数据分组 对每组的数据再去进行统计计算如

    10910

    Pandas知识点-索引和切片操作

    二、读取一列数据或一行数据 1. 读取一列数据 ? 获取DataFrame中的一列数据有两种方式,第一种是用 data['列索引'] ,如 data['收盘价'] 可以获取收盘价这一列的数据。...loc属性基于行索引名获取数据,用法为 data.loc['行索引'] ,如 data.loc['2021-02-19'] 可以获取2021年2月19日的交易数据。...Pandas中获取指定位置数据的索引方式默认是“先列后行”,这与numpy中ndarray的索引方式“先行后列”是相反的。...在Pandas中,取数据的逻辑通常是先获取某一列数据,然后再取这列数据中的某个数据,所以默认采用了“先列后行”的方式,如果顺序反了会报错。 ?...以上就是Pandas中的索引和切片基本操作介绍,如果需要获取数据和代码,可以点击关注公众号“Python碎片”,然后在后台回复“pandas03”关键字获取本文代码和数据。

    2.3K20

    Python数据科学手册(三)【Pandas的对象介绍】

    一.简介 Pandas构建在Numpy的基础上,它同时支持行和列的操作。...Pandas提供了以下几种基本的数据类型: Series DataFrame Index Pandas Series对象 Pandas Series 是一个一维的数组对象,它可以从列表或者数组中创建。...2.从Numpy数组中创建 Pandas Series对象和Numpy 数组最大的区别就是Numpy只支持整数型数值索引,而Pandas Series支持各种类型的索引,而且可以显示声明索引。...', 'New York', 'Texas'], dtype='object') 除此之外,DataFrame还可以通过columns获取列索引: states.columns # Index(['area...', 'population'], dtype='object') 2.特殊的字典 类似的,可以将DataFrame看做字典,key为列索引值,value为对应的Series对象。

    91430

    地理空间数据的时间序列分析

    这个过程很简单:我们将循环遍历每个图像,读取像素值并将它们存储在一个列表中。 我们将另外在另一个列表中跟踪日期信息。我们从哪里获取日期信息?...', '20200521'] >> [4.4631577, 6.95278, 3.4205956, 1.7203209, 0.45923564] 接下来,我们将这些列表转换为pandas数据框的格式。...), columns = ['date', 'rainfall_mm']) df.head() 现在我们有了一个pandas数据框,但请注意,“日期”列中的值是字符串,pandas尚不知道它代表日期...将日期列设置为索引也是一个好主意。这有助于按不同日期和日期范围切片和过滤数据,并使绘图任务变得容易。我们首先将日期排序到正确的顺序,然后将该列设置为索引。...在本文中,通过一个案例研究演示了如何以最少的努力轻松完成这项艰巨任务

    25010
    领券