python(17)-pandas-series-DataFrame-index

本文深入探讨了Pandas中Series和DataFrame的创建与操作,包括使用一维和二维数组、字典创建数据结构,以及如何进行索引和自动化对齐等高级操作。

   pandas中的series和DataFrame的基本操作。我的理解不一定对,series相当于一维数组,里面可以有各种类型。DataFrame可以是多维数组。主要对应的是矩阵操作。

1.series创建(一维数组,字典)
2.DataFrame创建(二维数组,二维字典,嵌套字典)
3 index操作()


1.series创建(一维数组,字典)
 

    #1.1 创建 一维数组
    arr1=np.arange(10)
    print("np一维数组-数字{}".format(arr1))
    s_np=pd.Series(arr1)
    print("创建一series变量 赋值np一维数组-数字{}".format(s_np))
    #1.2创建字典
    dic1={'ana0':0,'ana1':1,'ana2':2,}
    print("创建一series变量 赋值一维数组-字典{}".format(dic1))
    s_dic=pd.Series(dic1)
    print("创建一series变量 赋值一维数组-字典{}".format(s_dic))


2.DataFrame创建(二维数组,二维字典,嵌套字典)

  #创建二维数组
    arr2=np.array(np.arange(12)).reshape(4,3)
    print("创建DataFrame二维数组{}".format(arr2))
    d_f1=pd.DataFrame(arr2)
    print("创建DataFrame二维数组{}".format(d_f1))

    #  创建字典列表
    dic2 ={'a':[1,2,3,4],
           'b':[5,6,7,8],
           'c':[9,10,11,12]
    }
    df2=pd.DataFrame(dic2)


    #创建嵌套字典
    dict3 = {'one': {'a': 1, 'b': 2, 'c': 3},
             'two': {'a': 4, 'b': 5, 'c': 6},
             'three': {'a': 7, 'b': 8, 'c':9},
             }
    """
    dict3= {'ann0':{'cur_dt':'2019-12-1:00:00:00','value':0,'state':'true'},
           'ana1':{'cur_dt':'2019-12-1:00:15:00','value':1,'state':'true'},
           'ana2':{'cur_dt':'2019-12-1:00:30:00','value':2,'state':'true'},
           'ana3':{'cur_dt':'2019-12-1:00:45:00','value':3,'state':'true'},
           'ana4':{'cur_dt':'2019-12-1:01:00:00','value':4,'state':'true'},}
    """
    df3 = pd.DataFrame(dict3)
    print("创建DataFrame嵌套字典{}".format(df3))
 
    df4 = df3[['ann0', 'ana2']]
    print("创建DataFrame嵌套字典{}".format(df4))
    # 读取结构数据
    s3= df3['one']
    print("读取数据结构{}".format(s3))



3 index操作(创建,赋值,自动化对齐)

  #1.创建序列 查看索引值 0-N 自增索引
    s = pd.Series(np.array([1, 1, 2, 3, 5, 8]))
    print("查看序列索引值{}".format(s.index))
    #2.赋值索引 索引可以不是0-N 的数字
    s.index=['a','b','c','d','e']
    print("索引值=3时 s.index值={}".format(s.index['a']))
    print("索引值=[1,3,5]时 s.index值={}".format(s.index[[1,3,5]]))
    print("索引值=['b','c','d']时 s.index值={}".format(s.index[['b','c','d']]))
    print("索引值=[:4] s.index值={}".format(s.index[:4]))
    print("索引值=['c':]时 s.index值={}".format(s.index['c':]))
    print("索引值=['b':'d']时 s.index值={}".format(s.index['b':'d']))

    print("索引值=3时 值={}".format(s['a']))
    print("索引值=[1,3,5]时 值={}".format(s[[1, 3, 5]]))
    print("索引值=['b','c','d']时 值={}".format(s[['b', 'c', 'd']]))
    print("索引值=[:4] 值={}".format(s[:4]))
    print("索引值=['c':]时 值={}".format(s['c':]))
    print("索引值=['b':'d']时 值={}".format(s['b':'d']))

    #3.自动化对齐 # 索引号和索引名
    s5 = pd.Series(np.array([10, 15, 20, 30, 55, 80]), index = ['a', 'b', 'c', 'd', 'e', 'f'])
    s6 =  pd.Series(np.array([12, 11, 13, 15, 14, 16], index = ['a', 'c', 'g', 'b', 'd', 'f'])

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值