创建 DataFrame:

df = pd.DataFrame(np.random.randint(0, 10, (2, 4)), columns=list('ABCD'))

0. 为 data frame 添加新的属性列

>> df['total'] = df['A'] + df['B'] + df['C'] + df['D']
# 等价于 df['total'] = df.A + df.B + df.C + df.D

1. 数据类型

  • df.values ⇒ 返回的是 numpy 下的多维数组

    • df.column_name.values ⇒ 返回的也是 numpy 下的数组类型
  • df.dtypes:返回的是各个属性列的类型
    • df.select_dtypes([np.object])
    • df.select_dypes([bool])

2. 简单数据统计

  • 统计某一属性可能的取值:df.column_name.unique()
  • 统计出现的次数:df.column_name.value_counts()
    • column_name 对应的是该 DataFrame 中某列的列名;
    • 也即 pandas 下的 DataFrame 对象直接支持 点+列名的方式进行索引;

3. 缺失值的处理

  • 所有缺失值字段填充为 0:df.fillna(0),一定要十分注意的一点是,df.fillna() 操作默认(inplace=False)不是 inplace,也即不是对原始 data frame 直接操作修改的,而是创建一个副本,对副本进行修改;

    • df.fillna(0, inplace=True)
    • df = df.fillna(0)
  • 舍弃:
    • 舍弃那些全行为 NaN 的行,以及全列为 NaN 的行:

      • df.dropna(axis=[0, 1], how=’all’)
    • 删除某些行和列:
      • df.drop([], axis=1, inplace=True) ⇒ axis = 1,删除列;
      • df.drop([], axis=0, inplace=True) ⇒ axis = 0,删除行;
  • 均值填充

    age_mean = data.Age.mean()      # age_mean = data['Age'].mean()
    data.Age[data['Age'].isnull()] = age_mean # data['Age'] == data.Age 二者是等效的

最新文章

  1. Redis初识
  2. 利用opencv训练样本分类
  3. Razor语法的一些特殊需求输出
  4. Laravel5.1-Eloquent ORM:起步
  5. ZendStudio如何汉化
  6. 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
  7. [WinAPI] 串口1-创建[包括: 打不开串口]
  8. javascritp日期函数总结
  9. oracle删除互相关联的记录
  10. php设计模式——单例模式
  11. 怎么打开在.bashrc文件以及设置颜色
  12. luogu2605 基站选址 (线段树优化dp)
  13. 获取AWR报告
  14. angular 2 - 003 typescript
  15. The best manual of how to use "The easiest Xdebug" addon for Firefox
  16. What are some good books/papers for learning deep learning?
  17. 走进JDK(四)------InputStream、OutputStream、Reader、Writer
  18. 列表选择框:wxSingleChoiceDialog
  19. Spring Boot(一):入门篇
  20. 【java编程-Javassist】秒懂Java动态编程(Javassist研究)

热门文章

  1. php课程 18-60 cookie和session的最主要区别是什么
  2. JSTL之C标签学习
  3. Restlet 学习笔记
  4. 3/19 Django框架 url路由配置及模板渲染
  5. JavaScript学习总结(2)——JavaScript数据类型判断
  6. 深度学习 Deep Learning UFLDL 最新Tutorial 学习笔记 3:Vectorization
  7. Android网络框架OkHttp之get请求(源码初识)
  8. mybatis中整合ehcache缓存框架的使用
  9. Excel 下拉菜单制作
  10. JS概述