pandas

作者: 临渊如峙 | 来源:发表于2018-06-03 17:26 被阅读0次

    pandas之初窥门径

    1、pandas声明

    address_list = ['广东', '浙江', '广东', '浙江', '浙江', '广东', '广东', '广东', '广东', '广东']
    sale_list = [1270.4, 4499.0, 1490.0, 127.5, 127.8, 1080.0, 1080.0, 1580.0, 3080.0, 480.0]
    dataset = DataFrame({'address': address_list, "sale":sale_list})
    <class 'pandas.core.frame.DataFrame'>
    print(dataset)
      address    sale
    0      广东  1270.4
    1      浙江  4499.0
    2      广东  1490.0
    3      浙江   127.5
    4      浙江   127.8
    5      广东  1080.0
    6      广东  1080.0
    7      广东  1580.0
    8      广东  3080.0
    9      广东   480.0
    [['广东', 1437.2], ['浙
    print(dataset.values)
    [['广东' 1270.4]
     ['浙江' 4499.0]
     ['广东' 1490.0]
     ['浙江' 127.5]
     ['浙江' 127.8]
     ['广东' 1080.0]
     ['广东' 1080.0]
     ['广东' 1580.0]
     ['广东' 3080.0]
     ['广东' 480.0]]
    

    2、pandas条件过滤,

    print(dataset[dataset.sale < 200])
    address   sale
    3      浙江  127.5
    4      浙江  127.8
    
    print(dataset[(dataset.sale > 1000) & (dataset.sale < 3000)])
     address    sale
    0      广东  1270.4
    2      广东  1490.0
    5      广东  1080.0
    6      广东  1080.0
    7      广东  1580.0
    
    print(dataset[(dataset.sale < 200) | (dataset.sale > 3000)])
    address    sale
    1      浙江  4499.0
    3      浙江   127.5
    4      浙江   127.8
    8      广东  3080.0
    

    3、pandas函数

    address_list = ['广东', '浙江', '广东', '浙江', '浙江', '广东', '广东', '广东', '广东', '广东']
    price_list = [1270.4, 4499.0, 1490.0, 127.5, 127.8, 1080.0, 1080.0, 1580.0, 3080.0, 480.0]
    dataset = DataFrame({'address': address_list, "price": price_list})
    # 分组
    data_p = dataset.groupby('address')
    # 求和
    data_p = dataset.groupby('address', as_index=False).sum()
    print(data_p)
    address    price
    0      广东  10060.4
    1      浙江   4754.3
    # 平均值
    data_p = dataset.groupby('address', as_index=False).mean()
    print(data_p)
    address        price
    0      广东  1437.200000
    1      浙江  1584.766667
    

    3、pandas转成list

    df = DataFrame(data_p).values.tolist()
    print(df)
    [['广东', 1437.2], ['浙江', 1584.7666666666667]]
    
    print(type(df))
    <class 'list'>
    ##4、精度
    data_p[['price']] = data_p[['price']].apply(np.round)
    my_list = DataFrame(data_p).values.tolist()
    print(my_list)
    [['广东', 1437.0], ['浙江', 1585.0]]
    

    相关文章

      网友评论

          本文标题:pandas

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