美文网首页
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