展开

关键词

pandas DataFrame 数据选取,修改,切片实现

在刚开始使用pandas DataFrame时候,对于数据选取,修改和切片经常困惑,这里总结了一些常用操作。 False,True]] 选取第1,2;1,3数据 要注意是,我们用df[参数]也可以进行切片,这种方式容易引起chained indexing 问题。 :2] #第1和第3,从第0列到第2(不包含第2数据 df.iloc[1:3,[1,2] #第1到第3(不包含第3),第1和第2数据 4. ix, ix很强大,loc和iloc功能都能做到 df.ix[1,0:2] #第1,从第0列到第2(不包含第2数据 切片时,iloc不含下标上限,loc,ix行包含,iloc和ix都不含下标上限。 到此这篇关于pandas DataFrame 数据选取,修改,切片实现文章就介绍到这了,更多相关pandas 数据选取,修改,切片内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持

3.7K20

30 个小例子帮你快速掌握Pandas

选择特定 3.读取DataFrame一部分行 read_csv函数允许按读取DataFrame一部分。有两种选择。第一个是读取前n。 通过将isna与sum函数一起使用,我们可以看到每中缺失值数量。 df.isna().sum() ? 6.使用loc和iloc添加缺失值 我正在做这个例子来练习loc和iloc。 尽管我们对loc和iloc使用了不同列表示形式,值没有改变。原因是我们使用数字索引标签。因此,标签和索引都相同。 缺失值数量已更改: ? 7.填充缺失值 fillna函数用于填充缺失值。 例如,thresh = 5表示一必须具有至少5个不可丢失丢失值。缺失值小于或等于4行将被删除。 DataFrame现在没有任何缺失值。 25.绘制直方图 Pandas不是数据可视化库,用它创建一些基本图形还是非常简单。 我发现使用Pandas创建基本图比使用其他数据可视化库更容易。 让我们创建Balance直方图。

30010
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

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

    Pandas处理csv表格

    可以结合这篇使用:数据处理利器Pandas使用手册 1)读取csv文件 data =pandas.read_csv(‘test.csv’) //返回DataFrame变量 first_rows = # 取样本数据,所有:第二列到最后一。 train_data.values[0::, 2::] # 取标签数据,所有:第一。 train_data.values[0::, 1] ? ’]] data.loc[:4,['ID','YELP’]] //返回指定指定类,从0到4,包括第4 data.iloc[:,:] //返回所有数据 data.iloc[:2,1:3] //返回特定特定数据 data[‘ID’] //返回 data[2:5] //返回 data[3:6][:2] data[‘ID’][3:6] data[3:6][‘ID’] data[data.YELP>0] //YELP这值不为空,即NaN data[data['ID'].isin(['v4','v5'])] //返回有这个值 5)缺失值处理 去掉包含缺失值

    1.9K50

    超全pandas数据分析常用函数总结:下篇

    更多关于pandas.DataFrame.loc用法,戳下面官方链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html #pandas.DataFrame.loc pandas.DataFrame.iloc() 允许输入值:整数5、整数列表或数组[4,3,0]、整数切片对象1:7 更多关于pandas.DataFrame.iloc 6.2 区域索引 6.2.1 用loc取连续多行 提取索引值为2到索引值为4所有,即提取第3到第5,注意:此时切片开始和结束都包括在内。 data.loc[2:4] 输出结果: ? 6.2.2 用loc取不连续多行 提取索引值为2和索引值为4所有,即提取第3和第5。 data.loc[[2,4]] 输出结果: ? 6.2.5 用iloc取连续多行和多 提取第3到第6,第4列到第5值,取得是交叉点位置。 data.iloc[2:6,3:5] 输出结果: ?

    47920

    超全pandas数据分析常用函数总结:下篇

    更多关于pandas.DataFrame.loc用法,戳下面官方链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html #pandas.DataFrame.loc pandas.DataFrame.iloc() 允许输入值:整数5、整数列表或数组[4,3,0]、整数切片对象1:7 更多关于pandas.DataFrame.iloc 6.2 区域索引 6.2.1 用loc取连续多行 提取索引值为2到索引值为4所有,即提取第3到第5,注意:此时切片开始和结束都包括在内。 data.loc[2:4] 输出结果: ? 6.2.2 用loc取不连续多行 提取索引值为2和索引值为4所有,即提取第3和第5。 data.loc[[2,4]] 输出结果: ? 6.2.5 用iloc取连续多行和多 提取第3到第6,第4列到第5值,取得是交叉点位置。 data.iloc[2:6,3:5] 输出结果: ?

    32120

    高效10个Pandas函数,你都用过吗?

    Query Query是pandas过滤查询函数,使用布尔表达式来查询DataFrame,就是说按照规则进行过滤操作。 Loc and iloc Loc和iloc通常被用来选择,它们功能相似,用法是有区别的。 用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:按标签(column和index)选择 iloc:按索引位置选择 选择df第1~3、第1~2数据 ,使用iloc: df.iloc[:3,:2] 使用loc: df.loc[:2,['group','year']]1 提示:使用loc时,索引是指index值,包括上边界。 ascending:正和倒 对df中value_1进行排名: df['rank_1'] = df['value_1'].rank() df 10.

    14720

    整理了25个Pandas实用技巧(上)

    这种方式很好,如果你还想把列名变为非数值型,你可以强制地将一串字符赋值给columns参数: ? 你可以想到,你传递字符串长度必须与数相同。 更改列名 让我们来看一下刚才我们创建示例DataFrame: ? 我更喜欢在选取pandas时候使用点(.),但是这对那么列名中含有空格不会生效。让我们来修复这个问题。 如果你想要将反转呢? 反转 跟之前技巧一样,你也可以使用loc函数将从左至右反转: In [23]: drinks.loc[:, ::-1].head() Out[23]: continent total_litres_of_pure_alcohol 为了避免这种情况,我们需要告诉concat()函数来忽略索引,使用默认整数索引: ? 按从多个文件中构建DataFrame 上一个技巧对于数据集中每个文件包含记录很有用。

    36820

    详解pandas中iloc, loc和ix区别和联系

    一样行为,如果索引中不存在标签,则会退回到像iloc一样行为。 ' with these indexers [0] of <class 'int' ''' # locs索引某些某些 print(df1.loc[0:2, ['a', 'b']]) ''' , 正确写法如下: print(df1.iloc[:,0:2]) ''' a b 0 1 2 1 4 5 2 7 8 ''' # iloc索引某些某些 print(df1.iloc[0:2, 0:1]) ''' a 0 1 1 4 ''' 3 ix ix操作比较复杂,在pandas版本0.20.0及其以后版本中,ix已经不被推荐使用,建议采用iloc和loc实现ix。 如有对ix使用比较感兴趣朋友可以参考这篇博客。

    22920

    数据分析 ——— pandas基础(三)

    6 cat(sep=' ') 使用给定分隔符连接序列/索引元素。 7 get_dummies() 用One-Hot Encoded值返回DataFrame。 # loc import pandas as pd import numpy as np # pandas 索引 # loc采用,为分隔符, 分隔两个单列 df = pd.DataFrame(np.random.randn [:,['A','C']]) # a~h, :A,C两 print(df.loc[['a','b','f','h'],['A','D']]) # :a, b,f, h; :A, C print # 取前四数据 print(df.iloc[2:5, 2:4]) # :取第3到第5数据,:取第3列到底4数据 """ 输出: A B 取第3到第5数据,:取第3列到底4数据 C D 2 1.369953 -0.591533 3 -0.754006 -1.990831 4 -1.097065

    23920

    20个能够有效提高 Pandas数据分析效率常用函数,附带解释和例子

    重要一点是,pandas 和 numpywhere函数并不完全相同。我们可以得到相同结果,语法存在差异。Np.where还需要指定对象。 Loc 和 iloc Loc 和 iloc 函数用于选择或者loc:通过标签选择 iloc:通过位置选择 loc用于按标签选择数据。标签是列名。 下述代码实现选择前三前两数据(loc方式): df.loc[:2,['group','year']] ? 注:当使用loc时,包括索引上界,而使用iloc则不包括索引上界。 Melt Melt用于将维数较大 dataframe转换为维数较少 dataframe。一些dataframe中包含连续度量或变量。在某些情况下,将这些列表示为可能更适合我们任务。 我们也可以使用melt函数var_name和value_name参数来指定新列名。 11. Explode 假设数据集在一个观测()中包含一个要素多个条目,您希望在单独中分析它们。

    48030

    Python数据分析实战之技巧总结

    —— PandasDataFrame如何固定字段排序 —— 保证字段唯一性应如何处理 —— 透视表pivot_table函数转化长表注意问题 ——PandasDataFrame数据框存在缺失值NaN Q4、数据运算存在NaN如何应对 需求:pandas处理多相减,实际某些元素本身为空值,如何碰到一个单元格元素为空就忽略了不计算,一般怎么解决! Q5、如何对数据框进行任意行列增、删、改、查操作 df1=df.copy() #复制一下 # 增操作 #普通索引,直接传入行或 # 在第0添加新 df1.loc[0] = ["F","1月", # 查找 df5_3= df5.loc[:, '建筑编码'] # Series 查找 df5_3 = df5.loc[:, ['建筑编码', '建筑名称']] # DataFrame类型 多查找 类型 按照原 df5_7=df5[df5.电耗量 > 80]# 选择df5.电耗量中>80 # df5[df5.建筑名称.isin(['B', 'C'])] #DataFrame 条件查找

    9910

    Pandas最详细教程来了!

    都可以是不同数据类型(数值、字符串、布尔值等)。 DataFrame既有索引也有索引,这两种索引在DataFrame实现上,本质上是一样。 ▲图3-7 loc方法将在后面的内容中详细介绍。 索引存在,使得Pandas在处理缺漏信息时候非常灵活。下面的示例代码会新建一个DataFrame数据df2。 有时候,我们会希望按照DataFrame绝对位置来获取数据,比如,如果想要获取第3第2数据,但不想按标签(索引)获取,那么这时候就可以使用iloc方法。 例如,寻找A中值大于0。 这里可以使用混合方法,DataFrame可以使用ix来进行混合索引。比如,索引使用绝对位置,索引使用标签,代码如下: df.ix[1,'E'] = 3 df 运行结果如图3-28所示。 ?

    25511

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

    获取 DataFrame或多行数据 要获取某一,你需要用 .loc[] 来按索引(标签名)引用这一,或者用 .iloc[],按这行在表中位置(行数)来引用。 ? 此外,你还可以制定多行和/或多,如上所示。 条件筛选 用中括号 [] 方式,除了直接指定选中某些外,还能接收一个条件语句,然后筛选出符合条件/。 当你使用 .dropna() 方法时,就是告诉 Pandas 删除掉存在一个或多个空值(或者)。删除是 .dropna(axis=0) ,删除是 .dropna(axis=1) 。 请注意,如果你没有指定 axis 参数,默认是删除。 删除: ? 类似的,如果你使用 .fillna() 方法,Pandas 将对这个 DataFrame 里所有的空值位置填上你指定默认值。 于是我们可以选择只对某些特定或者进行填充。比如只对 'A' 进行操作,在空值处填入该平均值: ? 如上所示,'A' 平均值是 2.0,所以第二空值被填上了 2.0。

    14.9K63

    数据处理利器pandas入门

    想入门 Pandas,那么首先需要了解Pandas数据结构。因为Pandas中数据操作依赖于数据结构对象。Pandas中最常用数据结构是 Series 和 DataFrame。 ⚠️ Pandas官方提示:以下切片形式操作在简单交互式数据分析时是非常友好,但是如果应用于生产环境尽量使用优化后一些方法:.at,.iat,.loc,.iloc,.ix等。 Pandas主要有两种数据查询选择操作: 基于标签查询 基于整数位置索引查询 Pandas在选择时,无需使用 date[:, columns] 形式,先使用 : 选择所有,再指定 columns 上述两种数据选择虽是基于DataFrameSeries也支持同样操作,以1001A 站点AQI数据为例: s = data.loc[data.type == 'AQI']['1001A'] ? idx 看作新 DataFrame,那么'1001A'则是 idx 中,['AQI', 'PM10', 'PM2.5'] 则是 idx 中

    39830

    Pandas 25 式

    目录 查看 pandas 及其支持项版本 创建 DataFrame 重命名列 反转行 反转列 按数据类型选择 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame 这里要注意是,字符串里字符数量必须与 DataFrame 数一致。 3. 重命名列 ? 用点(.)选择 pandas写起来比较容易,列名里有空格,就没法这样操作了。 这样,就已经反转过来了,索引也重置为默认索引。 5. 反转列 与反转行类似,还可以用 loc 从左到右反转列。 ? 要解决这个问题得用 transform() 方法,这个方法执行同样计算,返回与原始数据行数一样输出结果,本例中为 4622 。 ? 本例 DataFrame 加上了标题,交易量使用了迷你条形图。 注意:Pandas 还支持更多 DataFrame 样式选项,详见 pandas 官方文档。

    38200

    一文介绍Pandas9种数据访问方式

    例如,当标签类型(可通过df.index.dtype查看)为时间类型时,若使用无法隐式转换为时间字符串作为索引切片,则引发报错 ? 切片形式返回查询,且为范围查询 ? 切片类型与索引类型不一致时,引发报错 2. loc/iloc,可能是除[]之外最为常用两种数据访问方法,其中loc按标签值(列名和索引取值)访问、iloc按数字索引访问,均支持单值访问或切片查询 在DataFrame中,filter是用来读取特定,并支持三种形式筛选:固定列名(items)、正则表达式(regex)以及模糊查询(like),并通过axis参数来控制是方向或方向查询 实际上,这里lookup可看做是loc一种特殊形式,即分别传入一组标签和标签,lookup解析成一组行列坐标,返回相应结果: ? 最后,pandas中提供了非常灵活多样数据访问形式,可以说是兼顾了嵌套Series和嵌套dict双重特性,最为常用其实还是[]、loc和iloc这几种方法,而对于where、query、isin

    19330

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

    目录 查看 pandas 及其支持项版本 创建 DataFrame 重命名列 反转行 反转列 按数据类型选择 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame 这里要注意是,字符串里字符数量必须与 DataFrame 数一致。 3. 重命名列 ? 用点(.)选择 pandas写起来比较容易,列名里有空格,就没法这样操作了。 这样,就已经反转过来了,索引也重置为默认索引。 5. 反转列 与反转行类似,还可以用 loc 从左到右反转列。 ? 要解决这个问题得用 transform() 方法,这个方法执行同样计算,返回与原始数据行数一样输出结果,本例中为 4622 。 ? 本例 DataFrame 加上了标题,交易量使用了迷你条形图。 注意:Pandas 还支持更多 DataFrame 样式选项,详见 pandas 官方文档。

    40220

    一个数据集全方位解读pandas

    目录 安装与数据介绍 安装与配置 检查数据 探索性分析 pandas数据结构 series对象 dataframe对象 访问series元素 使用索引 使用.loc与.iloc 访问dataframe元素 使用索引 使用.loc与.iloc 查询数据集 分类和汇总数据 对进行操作 指定数据类型 数据清洗 数据可视化 一、安装与数据介绍 pandas安装建议直接安装anaconda,会预置安装好所有数据分析相关包 在这里,我们使用索引运算符选择标记为"revenue",如果列名是字符串,那么也可以使用带点符号属性样式访问: >>> city_data.revenue Amsterdam 4200 五、查询数据集 现在我们已经了解了如何根据索引访问大型数据集子集。现在,我们继续基于数据集值选择以查询数据。例如,我们可以创建一个DataFrame仅包含2010年之后打过比赛。 仅包含其中值"year_id"大于2010。

    44720

    DataFrame初了解-增删改查

    DataFrame表示矩阵数据表,它包含已排序集合,可以简单把它理解成多Series,每一可以是不同值类型,在DataFrame中,存在行索引和索引,它可以被视为一个共享相同索引 如果在传入值索引不被包含在字典中,则结果会出现缺失值,在此不做演示。 如果是嵌套字段被赋值给DF,pandas会将字典键作为索引,而内部字典键作为索引。 loc属性,前提是你已经定义了index索引,注意是用['index']中括号来取值(增加行,也可使用该属性来操作) df2 = pd.DataFrame(data, index = list('abcd 如果想要在选取基础上再筛选,并把排个,也非常简单,以下代码中我只想要z和x,所以将其放入到一个新列表当中,而如果想要z和 x之间所有数据,那么使用df2.loc['b':'d','f': 关于运算,两个DF相加时,均对齐值会进行运算,而未对齐位置上将产生缺失值,新对象索引、是每个DF索引、并集 df4 = pd.DataFrame(np.arange(15).reshape

    19620

    扫码关注腾讯云开发者

    领取腾讯云代金券