pandas part I:

# 总结:

  • DataFrame.loc[0:5] 一共6行数据,而切片[0:5]只有5个数据
  • 在对df的行数据删除后,有些index已缺失,此时用 iloc[]来按照位置索引
  • 取指定行 food_info.loc[[2,5,10]],传入list
  • 取指定列 zinc_copper = food_info[["Zinc_(mg)", "Copper_(mg)"]]
  • 取指定后缀名的列:
  • col_names = food_info.columns.tolist()
  • gram_columns = []
  • for c in col_names:
  •   if c.endswith("(g)"):
  •     gram_columns.append(c)
  • food_info.sort_values("Sodium_(mg)", inplace=True)  #默认升序,可以用 ascending=False来降序

pandas part II:

  • 根据age_is_null = titanic_survival["Age"].isnull(), 返回索引,
  • 根据索引的True,False,来获取null的集合: age_null_true = age[age_is_null]
  • 如果某列中有nan,任何运算结果都是nan
  • 取 good_ages = titanic_survival["Age"][age_is_null == False]
  • correct_mean_age = sum(good_ages) / len(good_ages)
  • 但是缺失数据的表很普遍,于是pandas用correct_mean_age = titanic_survival["Age"].mean()来解决nan问题
  • 按要求选取指定行:pclass_rows = titanic_survival[titanic_survival["Pclass"] == this_class]
  • 对指定行的某列进行运算: pclass_fares_mean = pclass_rows["Fare"].mean()
  • 数据透视表: 默认aggfunc为np.mean
  • passenger_survival = titanic_survival.pivot_table(index="Pclass", values="Survived", aggfunc=np.mean)
  • 多列透视表:values传入一个list
  • port_stats = titanic_survival.pivot_table(index="Embarked", values=["Fare","Survived"], aggfunc=np.sum)
  • 去掉有nan的列: titanic_survival.dropna(axis=1) #age canbin embark
  • 去掉指定列中有nan的行 : titanic_survival.dropna(axis=0,subset=["Age", "Sex"])
  • 取指定index行的某列的一个数据: titanic_survival.loc[83,"Age"]
  • 对所有列数据应用函数:
    def not_null_count(column):
      column_null = pd.isnull(column)
      null = column[column_null]
      return len(null)

    column_null_count = titanic_survival.apply(not_null_count)

pandas part III:

  • 获取Series的值 fandango['FILM'].values
  • 取某一列为另一列的索引:series_custom = Series(fandango['RottenTomatoes'].values , index=fandango['FILM'].values)
  • 用series_name限制条件series_greater_than_50 = series_custom[series_custom > 50]
  • 取到所有列的类型:types = fandango_films.dtypes
  • types[types.values == 'float64'].index 本质上是从types 回到 索引上
  • deviations = fandango_films[float_columns].apply(lambda x: np.std(x)) 对所有float类型数据应用方差
  • groupby将一列中的元素进行分组,idxmax取出对应列group的最大索引位置,score_series=df.groupby("ID")["m_score"].idxmax()
  • df.groupby(df['class1'])['data1'] == df['data1'].groupby(df['class1']) 是一个整体,要取出数据,则.idxmax()等操作
  • df.groupby(df['class1'])['data1']  :   <pandas.core.groupby.SeriesGroupBy object at 0x000001F1CEDF0AC8>

pandas小结的更多相关文章

  1. pandas用法小结

    前言 个人感觉网上对pandas的总结感觉不够详尽细致,在这里我对pandas做个相对细致的小结吧,在数据分析与人工智能方面会有所涉及到的东西在这里都说说吧,也是对自己学习的一种小结! pandas用 ...

  2. python4delphi import lxml pandas 出错的小结

    环境: 1.win10 64位 2.delphi xe8 3.python2.7 4.python4delphi  (svn 2015-03-21 发布的83版本号) 5.lxml 3.4.4(通过p ...

  3. python中pandas里面的dataframe数据的筛选小结

    pandas大家用的都很多,像我这种用的不够熟练,也不够多的就只能做做笔记,尽量留下点东西吧. 筛选行: a. 按照列的条件筛选 df = pandas.DataFrame(...) # suppos ...

  4. pandas replace函数使用小结

    http://blog.csdn.net/kancy110/article/details/72719340

  5. scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...

  6. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

  7. 用scikit-learn和pandas学习Ridge回归

    本文将用一个例子来讲述怎么用scikit-learn和pandas来学习Ridge回归. 1. Ridge回归的损失函数 在我的另外一遍讲线性回归的文章中,对Ridge回归做了一些介绍,以及什么时候适 ...

  8. pandas 对数据帧DataFrame中数据的索引及切片操作

    1.创建数据帧 index是行索引,即每一行的名字:columns是列索引,即每一列的名字.建立数据帧时行索引和列索引都需要以列表的形式传入. import pandas as pd df = pd. ...

  9. 第三周 数据分析之概要 Pandas库入门

    Pandas库介绍: Pandas库引用:Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas as pd Pandas基于NumPy实现,常与NumPy和 ...

随机推荐

  1. 详细讲解:零知识证明 之 zk-SNARK 开篇

    作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/587f0dfe128fe100570ce2 ...

  2. jzoj5983. 【北大2019冬令营模拟2019.1.1】多边形 (组合数学)

    这其实是道打表题--你看我代码就知道了-- 咳咳来点严谨证明好了-- 前方高能请注意 首先,正多边形近似于圆,可以看做在圆里内接多边形.圆内接多边形最多只有三个锐角.因为凸多边形的外角和为\(360\ ...

  3. java多线程中用到的方法详细解析

    在多线程学习的过程中涉及的方法和接口特别多,本文就详细讲解下经常使用方法的作用和使用场景. 1.sleep()方法.      当线程对象调用sleep(time)方法后,当前线程会等待指定的时间(t ...

  4. Python 学习 Part1

    1. 斐波那契数序列 >>> a,b=0,1 >>> a 0 >>> b 1 >>> while b<10: print( ...

  5. javascript 数组、json连接

    json(或数组).concat(需要添加的json(或数组))

  6. 数据库 | 远程连接centos7上数据库

    用root身份进入远程服务器控制台: 进入Mysql命令: # mysql -uroot -p 或者在本地上连接到远程主机上的MySQL: 假设远程主机的IP为:10.0.0.1,用户名为root,密 ...

  7. gns3 拖出设备显示一个红色的s,无法启动虚拟设备

    通过view-docks-调出console窗口,显示错误信息: Error while creating project: Can't connect to server http://172.0. ...

  8. UVa10375:选择与除法(唯一分解定理)

    The binomial coefficient C(m,n) is defined as Given four natural numbers p, q, r, and s, compute the th ...

  9. 539 Minimum Time Difference 最小时间差

    给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并已分钟数表示.示例 1:输入: ["23:59","00:00"]输出: 1 ...

  10. tar打包压缩命令

    1. tar命令 用法: tar [选项...] [FILE]... GNU ‘tar’将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件. 示例 tar -cf archiv ...