为什么80%的码农都做不了架构师?>>>   

统计

import pandas
import numpy# 通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFrame:
dates = pandas.date_range("20180509", periods=6)
df = pandas.DataFrame(numpy.random.randn(6, 4), index=dates, columns=list('ABCD'))
print("时间索引以及列标签来创建一个DataFrame:", df, sep="\n")# 描述性统计,求每一列的平均数
print("每一列的平均数", df.mean(), sep="\n")# 其他轴的形同操作
print("每一行的平均数", df.mean(1), sep="\n")# 对于拥有不同维度、需要对其的对象进行操作。Pandas会自动沿着指定的维度进行广播
s = pandas.Series([1, 3, 5, numpy.nan, 6, 8], index=dates).shift(2)  # shift函数主要的功能就是使数据框中的数据移动。
print("行索引不变,移动列的数据。", s, sep="\n")
print("df-s", df.sub(s, axis='index'), sep="\n")# 按照index进行匹配,为s补全为一个矩阵后进行计算,完成两个矩阵相减(df-s)
"E:\Python 3.6.2\python.exe" F:/PycharmProjects/test.py
时间索引以及列标签来创建一个DataFrame:A         B         C         D
2018-05-09  0.689544  0.875232  0.452993  1.875628
2018-05-10 -0.216719  0.298931 -1.159366  0.188906
2018-05-11  0.268589  1.206928 -0.119726 -0.148764
2018-05-12 -1.035244  1.092390  1.006421 -0.226186
2018-05-13  0.670916  0.738597 -0.184312 -1.280867
2018-05-14 -0.359534  1.109787  0.650537 -0.030985
每一列的平均数
A    0.002925
B    0.886978
C    0.107758
D    0.062955
dtype: float64
每一行的平均数
2018-05-09    0.973349
2018-05-10   -0.222062
2018-05-11    0.301757
2018-05-12    0.209345
2018-05-13   -0.013917
2018-05-14    0.342451
Freq: D, dtype: float64
行索引不变,移动列的数据。
2018-05-09    NaN
2018-05-10    NaN
2018-05-11    1.0
2018-05-12    3.0
2018-05-13    5.0
2018-05-14    NaN
Freq: D, dtype: float64A         B         C         D
2018-05-09       NaN       NaN       NaN       NaN
2018-05-10       NaN       NaN       NaN       NaN
2018-05-11 -0.731411  0.206928 -1.119726 -1.148764
2018-05-12 -4.035244 -1.907610 -1.993579 -3.226186
2018-05-13 -4.329084 -4.261403 -5.184312 -6.280867
2018-05-14       NaN       NaN       NaN       NaNProcess finished with exit code 0

函数apply()

import pandas
import numpy# 通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFrame:
dates = pandas.date_range("20180509", periods=6)
df = pandas.DataFrame(numpy.random.randn(6, 4), index=dates, columns=list('ABCD'))
print("时间索引以及列标签来创建一个DataFrame:", df, sep="\n")# 对数据应用函数
print("从第一行开始,其下一行网上一行结果上累加:", df.apply(numpy.cumsum), sep="\n")  # 每行数值向上求和
print("每列的最大数减去最小数:", df.apply(lambda x: x.max() - x.min()), sep="\n")
"E:\Python 3.6.2\python.exe" F:/PycharmProjects/test.py
时间索引以及列标签来创建一个DataFrame:A         B         C         D
2018-05-09  0.628765 -1.453298 -0.169228 -0.185065
2018-05-10  0.444467  0.159900 -1.581807  0.852065
2018-05-11  1.537534 -1.718371 -1.378338 -0.183929
2018-05-12 -2.131473 -2.586691 -0.241944 -0.842446
2018-05-13 -0.898688  0.394125  1.413996 -1.897569
2018-05-14 -0.891981  0.913925  0.686605 -0.842980
从第一行开始,其下一行网上一行结果上累加:A         B         C         D
2018-05-09  0.628765 -1.453298 -0.169228 -0.185065
2018-05-10  1.073232 -1.293399 -1.751035  0.667000
2018-05-11  2.610767 -3.011770 -3.129372  0.483071
2018-05-12  0.479293 -5.598461 -3.371316 -0.359374
2018-05-13 -0.419395 -5.204337 -1.957321 -2.256944
2018-05-14 -1.311376 -4.290412 -1.270715 -3.099924
每列的最大数减去最小数:
A    3.669008
B    3.500616
C    2.995802
D    2.749634
dtype: float64Process finished with exit code 0

直方图

import pandas
import numpy# 通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFrame:
dates = pandas.date_range("20180509", periods=6)
df = pandas.DataFrame(numpy.random.randn(6, 4), index=dates, columns=list('ABCD'))
print("时间索引以及列标签来创建一个DataFrame:", df, sep="\n")s = pandas.Series(numpy.random.randint(0, 7, size=10))
print("随机生成十个数的序列:", s, sep="\n")
print("统计每个数出现的次数:", s.value_counts(), sep="\n")
"E:\Python 3.6.2\python.exe" F:/PycharmProjects/test.py
时间索引以及列标签来创建一个DataFrame:A         B         C         D
2018-05-09 -1.447060  0.998378 -0.272173 -0.240873
2018-05-10  2.019563  0.397001  1.469093 -0.313272
2018-05-11  0.932445  0.973830 -1.914278 -1.374748
2018-05-12 -0.980636  1.336340 -0.232319  1.176833
2018-05-13 -1.850315 -0.738035 -1.085791  1.378875
2018-05-14  1.162965  1.892369  0.499482  0.647424
0    5
1    2
2    1
3    4
4    1
5    5
6    0
7    1
8    0
9    3
dtype: int32Process finished with exit code 0

字符串方法

Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素。

import pandas
import numpys = pandas.Series(['A', 'B', 'C', 'Aaba', 'Baca', numpy.nan, 'CABA', 'dog', 'cat'])
print("序列值全部改成小写:", s.str.lower(), sep="\n")
"E:\Python 3.6.2\python.exe" F:/PycharmProjects/test.py
序列值全部改成小写:
0       a
1       b
2       c
3    aaba
4    baca
5     NaN
6    caba
7     dog
8     cat
dtype: objectProcess finished with exit code 0

转载于:https://my.oschina.net/gain/blog/1823689

数据挖掘 pandas基础入门之操作相关推荐

  1. 数据挖掘 pandas基础入门之查看数据

    为什么80%的码农都做不了架构师?>>>    import pandas import numpy# 通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFra ...

  2. Pandas基础入门(一)

    一.Pandas简介 Pandas是一个强大的分析结构化数据的工具集: (Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的函数和方法,能够快速便捷地处理数据) 它的使用 ...

  3. Pandas基础入门知识点总结

    目录 1.pandas 常用类 1.1 Series 1.1.1创建 Series 1.1.2 访问 Series 数据 1.1.3 更新.插入和删除 1.2 DataFrame 1.2.1 创建 D ...

  4. Python数据处理之pandas基础入门

    Pandas 是 Python 语言的一个扩展程序库,用于数据分析. Pandas 是一个开放源码.BSD 许可的库,提供高性能.易于使用的数据结构和数据分析工具. Pandas 名字衍生自术语 &q ...

  5. Python pandas基础入门

    一.简介 pandas是一个强大的Python数据分析的工具包,是基于NumPy构建 pandas的主要功能: 具备对其功能的数据结构DataFrame.Series 集成时间序列功能 提供丰富的教学 ...

  6. 精读linux源码,Linux基础入门的操作精读.doc

    摘要:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持 ...

  7. SDL教程零基础入门 简单操作 day1

    1.0 SDL 简介 文章目录 1.0 SDL 简介 1.1 什么是 SDL? 1.2 SDL 可以做什么? 2. 在VS上获取和安装 SDL 2.1 SDL2库下载 2.2 安装SDL2 2.3 在 ...

  8. linux基础磁盘管理,Linux基础入门-文件系统操作与磁盘管理

    chrome 更新flash插件 下载下面的插件并安装 https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/ins ...

  9. Datawhale零基础入门金融风控 Task2/4 数据分析

    Task2 数据分析 此部分为零基础入门金融风控的 Task2 数据分析部分,带你来了解数据,熟悉数据,为后续的特征工程做准备,欢迎大家后续多多交流. 赛题:零基础入门数据挖掘 - 零基础入门金融风控 ...

最新文章

  1. LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂
  2. 安装centos系统时,修改默认网卡名
  3. 黑页php,炫酷帅气的黑页源码
  4. CC控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。...
  5. C语言 printf格式化输出,参数详解
  6. 去除导航栏的背景色和底部1像素黑色线条or隐藏导航栏
  7. 【NLP】CMU MILA 谷歌 | 三家巨头发布史上最干文本增强总结
  8. Arimo利用Alluxio的内存能力提升深度学习模型的结果效率(Time-to-Result)
  9. java 最优化_java-多维度求最优解
  10. PowerShell-将CSV导入SQL Server
  11. C# WPF动态删除指定类型控件
  12. 回文绝对求下联:亚冠决赛决冠亚
  13. 【算法】剑指 Offer 47. 礼物的最大价值
  14. html 链接 vf,VFP中超链接实现方法
  15. 前端设备通过Ehome协议接入EasyCVR平台无法播放问题解决
  16. 土地调查图斑编号_全国第二次土地调查地类分类图示及图斑.doc
  17. 取模运算和求余运算的区别
  18. 视频编码fmpeg 常用命令汇总
  19. Java流及流操作示例
  20. Linux常用命令详解(两万字超长文)

热门文章

  1. mysql003三表查询.三表查询.自链接查询
  2. Spring Boot @Conditional 注解
  3. 10 个你可能还不知道 VS Code 使用技巧
  4. 利用Python查看微信共同好友
  5. Shell语法—— while 条件语句
  6. [Vue CLI 3] 源码系列之useTaobaoRegistry
  7. 解决 spring-cloud-starter-zipkin 启动错误
  8. ORACLE经常使用系统查询
  9. hdu 5441 (并查集)
  10. 推导坐标旋转公式(转)