1. 13pandas的基本功能与常用的数学统计方法_笔记
    2. # pandas的基本功能
    3. # 1、数据文件读取 文本数据读取
    4. # 2、索引、选取和数据过滤
    5. # 3、算术运算和数据对齐
    6. # 4、函数的应用和映射
    7. # 5、重置索引
    8. # 通过pandas提供的read_XXX相关的函数可以读取文件中的数据,并形成DataFrame
    9. # 常用的数据读取方法为read_csv 主要可以读取文本类型的数据
    10. # help(pd.read_csv)
    11. # help(pd.read_excel)
    12. # csv的数据的表格形式的 并且是最简单的表格 直接看看图片
    13. # pandas:数据过滤获取
    14. # 通过DataFrame的相关方式可以获取对应的列或者数据形成一个新的DataFrame,方便后续进行统计计算
    15. # pandas中缺省值NaN处理方法:1 isnull 2 notnull 3 dropna 4 fillna
    16. # df.dropna() 默认丢弃只要包含nan数据的行 axis=1则是丢弃列 how='any'默认 如果设置how='all'则表示全部为nan才丢弃
    17. # df.fillna() 填充缺失值
    18. # pandas常用的数学统计方法
    19. # count 计算非NA值的数量
    20. # describe 针对Series或DataFrame列计算统计
    21. # min/max/sum 计算最小值 最大值 总和
    22. # argmin argmax 计算能够获取到最小值和最大值的索引位置(整数)
    23. # idxmin idxmax 计算能够获取到最小值和最大值的索引值
    24. # quantile 计算样本的分位数(0到1)
    25. # mean 值的平均数
    26. # median 值的中位数
    27. # mad 根据平均值计算平均绝对距离差
    28. # var 样本数值的方差
    29. # std 样本值的标准差
    30. # cumsum 样本值的累计和
    31. # cummin cummax 样本的累计最小值 最大值
    32. # cumprod 样本值的累计积
    33. # pct_change 计算百分数变化
    34. # print(df2.describe())
    35. # print(df2.quantile())
    36. # 相关系数 具体看图片
    37. # print(df2.corr())
    38. # 协方差
    39. # print(df2.cov())
    40. # pandas:唯一值、值频率计算以及成员资格
    41. # unique方法用于获取Series或DataFrame某列中的唯一值数组(去重数据后的数组)
    42. # value_counts方法用于计算一个Series或DataFrame某列中各值的出现频率
    43. # isin方法用于判断矢量化集合的成员资格,是否在里面,可用于选取Series中或DataFrame列中数据的子集
    44. # -*- coding: utf-8 -*-
    45. __author__ = 'dongfangyao'
    46. __date__ = '2018/1/2 下午3:29'
    47. __product__ = 'PyCharm'
    48. __filename__ = 'pandas4'
    49. import pandas as pd
    50. import numpy as np
    51. # pd.read_csv()
    52. # pd.read_excel()
    53. # pd.read_json()
    54. # DataFrame数据的切片
    55. # pandas当中处理NaN缺省值的方式:1、isnull 2 notnull
    56. # 3、dropna() 4、fillna()
    57. dict1 = {
    58. '语文': [90, 88, 67],
    59. '数学': [99, 78, 89],
    60. '外语': [98, 102, 125],
    61. '物理': 88
    62. }
    63. df2 = pd.DataFrame(dict1)
    64. # df2['数学'][1] = np.nan
    65. # df2.ix[1] = np.nan
    66. # print(df2)
    67. print('-----')
    68. # print(df2.dropna(axis=1))
    69. df3 = pd.DataFrame(np.random.random((7, 3)))
    70. # print(df3)
    71. df3.ix[:4, 1] = np.nan
    72. df3.ix[:2, 2] = np.nan
    73. # print(df3)
    74. print('-------')
    75. # print(df3.fillna(1))
    76. # print(df3.fillna({1: 0.5, 2: -1}))
    77. # print(df2.describe())
    78. # print(df2.median())
    79. # print(df2.var())
    80. # print(df2.std())
    81. # print(df2.corr())
    82. # print(df2.cov())
    83. s1 = pd.Series(['a', 'b', 'c', 'b', 'a'])
    84. # print(s1.unique())
    85. # print(s1.value_counts()['a'])
    86. # print(s1.isin(['a', 'b']))
    87. df4 = pd.DataFrame(np.random.randint(10, 16, (3, 3)), columns=['dfy', 'zs', 'ls'])
    88. print(df4)
    89. # print(df4.ix[0].unique())
    90. # print(df4['dfy'].unique())
    91. # print(df4['dfy'].value_counts())
    92. # print(df4.ix[0].value_counts())
    93. print(df4['dfy'].isin([11]))
    94. 复制代码