美文网首页
Python学习之pandas快速入门(二)

Python学习之pandas快速入门(二)

作者: bffbb3a8a646 | 来源:发表于2019-04-30 13:14 被阅读0次

                                                                                      作者丨琳儿

                                                            来源丨医数思维云课堂(ID:Datamedi)   

    04 数据结构DataFrame

    1. DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。

    2. DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。

    3. 可以输入给DataFrame构造器的数据

    创建

    #用字典生成DataFrame,key为列的名字。'

    data = {'state':['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],

    'year':[2000, 2001, 2002, 2001, 2002],

    'pop':[1.5, 1.7, 3.6, 2.4, 2.9]}

    print(DataFrame(data))

    print(DataFrame(data, columns = ['year', 'state', 'pop'])) # 指定列顺序

    #用arrange生成DataFrame

    frame = DataFrame(np.arange(9).reshape(3, 3),

    index = ['a', 'c', 'd'],

    columns = ['Ohio', 'Texas', 'California'])

    print(frame)

    data = DataFrame(np.arange(16).reshape((4, 4)),

    index = ['Ohio', 'Colorado', 'Utah', 'New York'],

    columns = ['one', 'two', 'three', 'four'])

    print(data)

    读写

    #'指定索引,在列中指定不存在的列,默认数据用NaN。'

    frame2 = DataFrame(data,

    columns = ['year', 'state', 'pop', 'debt'],

    index = ['one', 'two', 'three', 'four', 'five'])

    print(frame2)

    print(frame2['state'])

    print(frame2.year)

    print(frame2.ix['three'])

    frame2['debt'] = 16.5 # 修改一整列

    print(frame2)

    frame2.debt = np.arange(5) # 用numpy数组修改元素

    print(frame2)

    #'用Series指定要修改的索引及其对应的值,没有指定的默认数据用NaN。'

    val = Series([-1.2, -1.5, -1.7], index = ['two', 'four', 'five'])

    frame2['debt'] = val

    print(frame2)

    #'赋值给新列'

    frame2['eastern'] = (frame2.state == 'Ohio') # 如果state等于Ohio为True

    print(frame2)

    print(frame2.columns)

    #'DataFrame转置'

    pop = {'Nevada':{2001:2.4, 2002:2.9},

    'Ohio':{2000:1.5, 2001:1.7, 2002:3.6}}

    frame3 = DataFrame(pop)

    print(frame3)

    print(frame3.T)

    #指定索引顺序,以及使用切片初始化数据。'

    print(DataFrame(pop, index = [2001, 2002, 2003]))

    pdata = {'Ohio':frame3['Ohio'][:-1], 'Nevada':frame3['Nevada'][:2]}

    print(DataFrame(pdata))

    #'指定索引和列的名称'

    frame3.index.name = 'year'

    frame3.columns.name = 'state'

    print(frame3)

    print(frame3.values)

    print(frame2.values)

    Python学习之Pandas数据框结构的内容就讲到这里,大家有任何疑问都可以加入我们的QQ群:生物统计学习讨论群:938773609。期待我们的再次相约。

    相关文章

      网友评论

          本文标题:Python学习之pandas快速入门(二)

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