美文网首页我爱编程
利用Python进行数据分析-读书笔记(3)

利用Python进行数据分析-读书笔记(3)

作者: ctripkai | 来源:发表于2018-04-13 20:45 被阅读0次

    pandas专门为处理表格和混杂数据设计
    import pandas as pd
    from pandas import Series,DataFrame

    5.1 pandas数据结构

    Series 类似于一维数组+索引
    data = pd.Series([1,2,3,4,5]) 生成Series数据
    data.values data.index
    pd.Series([1,2],index = ['a','b']) 设置索引
    data['a'] 通过索引选取Series中单个或一组值
    data[data%2==0] 进行类似numpy数组的运算index仍会保留
    'a' in data
    pd.Series(python字典) 可以通过python字典创建Series
    可以通过设置index改变Series元素顺序
    缺失值用NaN表示
    pd.isnull(data) 检测缺失数据
    pd.notnull
    data1 + data2 可以根据索引自动对齐数据进行运算,类似join操作
    data.name data.index.name 可赋值
    index可以通过赋值方式修改
    pd.DataFrame(XXX)传入元素为等长列表或np数组组成的字典可以生成DataFrame数据,字典key值为列名
    frame.head() 前五行
    pd.DataFrame(XXX, columns = [xxx], index = [xxxxx]) 可能产生NaN
    frame['a'] 取列名为a的一列数据 等价于 frame.a(此时a需要是合理的变量名) 可以以列表形式取多列数据 返回的Series序列索引与原DataFrame相同
    frame.loc[0] 行选取
    可以用一个Series/值对某列赋值,需要长度相等
    对不存在的列赋值可创建新列
    del frame[列名] 删除列
    通过索引方式返回数据视图,修改此返回数据也会影响源数据,Series.copy()可以创建副本
    嵌套字典传给DataFrame,外层字典的键作为列名,内层键作为行索引
    frame.T 转置

    3.png
    frame.columns.name frame.index.name
    frame.values
    index对象不可更改
    不可变可以使Index对象在多个数据结构之间安全共享
    labels = pd.Index(np.arange(3))
    obj2 = pd.Series([1.5, -2.5, 0], index=labels)
    obj2.index is labels→True
    in操作可以用于index对象 查看某元素是否属于index对象
    index对象可以包含重复的标签
    4.jpg

    5.2 基本功能

    重新索引

    frame.reindex(新索引列表) 根据新索引重排,若索引值当前不存在则NaN
    列可以用columns关键字重新索引
    obj3 = pd.Series(['blue', 'purple', 'yellow'], index=[0, 2, 4])
    obj3.reindex(range(6), method='ffill') ffill实现前向值填充
    reindex可以修改(行)索引和列。只传递一个序列时,会重新索引结果的行,列可以用columns关键字重新索引

    5.jpg
    series.drop(索引列表) 删除Series行
    frame.drop(行索引列表) 删除行
    frame.drop(列名列表, axis=1) 删除列
    frame..drop('c', inplace=True) 原地更改对象

    索引、选取和过滤

    Series索引
    series(索引列表/数值范围切片) 选取对应元素

    相关文章

      网友评论

        本文标题:利用Python进行数据分析-读书笔记(3)

        本文链接:https://www.haomeiwen.com/subject/qmkckftx.html