美文网首页
2020-02-12

2020-02-12

作者: 疯狂皮卡丘之冬日储粮 | 来源:发表于2020-02-12 16:25 被阅读0次

    Pandas笔记之创建 Pandas DataFrame

    DataFrame为Pandas的第二种主要数据结构,是具有带标签的行和列的二维数据结构,可以存储多种类型数据

    import pandas as pd
    data = {'Bob' : pd.Series([245, 25, 55]),
     'Alice' : pd.Series([40, 110,500,45])}
    df = pd.DataFrame(data)
    df
    

    打印结果


    image.png

    可以看出,Pandas DataFrame 的行索引从0开始,就像 Numpy ndarray 的索引一样
    因为我们创建的 data字典没有标签索引,因此 Pandas 在创建 DataFrame 时自动使用数字索引
    我们可以通过 pd.DataFrame()函数中使用关键字 index,为行索引添加标签

    data = {'Integers' : [1,2,3],
     'Flotas' : [4.5, 8.2, 9.6]}
    df = pd.DataFrame(data, index = ['label 1', 'label 2', 'label 3'])
    df
    

    打印结果


    image.png

    Pandas笔记之访问&处理 Pandas DataFrame 中的元素

    通常使用行列标签访问 DataFrame 的行 列或单个元素
    示例如下:stores_items


    image.png
    print('How many bikes are in each store:\n', stores_items[['bikes']])
    print('How many bikes and pants are in each store:\n', store_items[['bikes', 'pants']])
    print('What items are in Store 1:\n',store_items.loc[['store 1']])
    print('How many bikes are in Store 2:', store_items['bikes']['store 2'])
    

    打印结果


    image.png image.png

    注意:访问 DataFrame 中的单个元素时,格式:dataframe[column][row]
    列标签须在前,如果先提供行标签,将出错

    修改DataFrame

    1.添加行或者列
    示例:添加每个商店的衬衫库存

    store_items['shirts'] = [15,2]
    store_items
    

    打印结果


    image.png

    系统默认将新添加的列放置于DataFrame 的末尾
    2.在指定位置添加新列

    store_items.insert(2,'shoes') 
    

    在索引为2的位置插入数据,以上,不会有值,整列都是NaN
    3.对列表使用算术运算符

    store_items['suits'] = store_items['pants'] + store_items['shirts']
    store_items
    
    image.png

    4.对列表添加一个新行

    new_items = [{'bikes' : 20, 'pants': 30, 'watches': 35, 'glasses': 4}]
    new_store = pd.DataFrame(new_items, index = ['store 3'])
    new_store
    

    打印结果


    image.png

    将创建的new_store,使用 .append()方法添加到store_items DataFrame中

    store_items = store_items.append(new_store)
    store_items
    

    打印结果


    image.png

    注意:将新行附加到DataFrame 后,列按照字母顺序排序了

    5.仅使用特定列的特定行中的数据向 DataFrame 添加新的列
    示例:假设你想在商店 2 和 3 中上一批新手表,并且新手表的数量与这些商店原有手表的库存一样

    store_items['new_watches'] = store_items['watches'][1:]
    store_items
    

    打印结果


    image.png

    6.将新列插入 DataFrames 的任何位置
    dataframe.insert(loc,lable,data)方法可以将新列(具有给定列标签和给定数据)插入dataframe 的 loc 位置
    示例:将名称为 shoes 的新列插入 suits 列前面。因为 suits 的数字索引值为 4,我们将此值作为loc

    store_items.insert(4,'shoes',[8,5,0])
    store_items
    

    打印结果


    image.png

    7.删除 DataFrame 中的行和列
    .pop()方法仅可以删除列
    .drop()方法可以同时用于删除行和列,需借助关键字axis
    示例①

    store_items.pop('new _watches')
    store_items
    

    打印结果


    image.png

    示例②
    仅删除列

    store_items = store_items.drop(['watches', 'shoes'], axis = 1)
    store_items
    

    打印结果


    image.png

    仅删除行

    store_items = store_items.drop(['store 2', 'store 1'], axis = 0)
    store_items
    

    打印结果


    image.png

    8.更改行和列标签:使用.rename()方法
    示例:更改列标签:将bikes列标签改为hats

    store_items = store_items.rename(colums = {'bikes' : 'hats'})
    store_items
    

    打印结果


    image.png

    示例:更改行标签

    store_items = store_items.rename(index = {'store 3' : 'last store'})
    store_items
    

    问题点:行为什么用Index,不用row
    9.将DataFrame 中的某一列,作为index
    示例:

    store_items = store_items.set_index('pants')
    store_items
    

    打印结果


    image.png

    相关文章

      网友评论

          本文标题:2020-02-12

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