python-pandas之DataFrame数据分析(五)
【摘要】
python-pandas之DataFrame数据分析(五)
'''DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。• DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引) 可以输入给DataFrame构造器的数据...
python-pandas之DataFrame数据分析(五)
-
'''
-
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同
-
的值类型(数值、字符串、布尔值等)。
-
• DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用
-
同一个索引)
-
-
可以输入给DataFrame构造器的数据
-
类型 说明
-
二维ndarray 数据矩阵,还可以传入行标和列标。
-
由数组、列表或元组组成的字典 每个序列会变成DataFrame的一列,所有序列的长度必须相同。
-
NumPy的结构化/记录数组 类似于“由数组组成的字典”
-
由Series组成的字典 每个Series会组成一列。如果没有显示指定索引,则各Series的索引会被合并成结果的
-
行索引。
-
由字典组成的字典 各内层字典会成为一列。键会被合并成结果的行索引,跟“由Series组成的字典”的情
-
况一样。
-
字典或Series的列表 各项将会成为DataFrame的一行。字典键或Series索引的并集将会成为DataFrame的列
-
标。
-
由列表或元组组成的列表 类似于“二维ndarray”
-
另一个DataFrame 该DataFrame的索引将会被沿用,除非显示指定了其他索引。
-
NumPy的MaskedArray 类似于“二维ndarray”的情况,只是掩码值在结果DataFrame会变成NA/缺失值。
-
'''
-
import numpy as np
-
from pandas import Series ,DataFrame
-
-
print('用字典生成DataFrame,key为列的名字。')
-
data = {'name':['libai','dufu','liqingzhao','wanganshi','tangshi'],
-
'age':[100,200,300,400,500],
-
'banji':['一班','二班','三班','四班','五班']}
-
print(DataFrame(data))
-
print(DataFrame(data,columns=['age','banji','name'])) # 指定列顺序
-
-
print('指定索引,在列中指定不存在的列,默认数据用NaN。')
-
frame2 = DataFrame(data,
-
columns=['age','banji','name','student'],
-
index=['one', 'two', 'three', 'four', 'five'])
-
print(frame2)
-
print(frame2['age']) #指定获取列索引对应的值
-
print(frame2.name) #指定获取列索引对应的值
-
-
print(frame2.ix['five']) #获取行索引对应的值
-
frame2['age']=10 # 修改一整列的值
-
print(frame2)
-
frame2.age = np.arange(5) # 用numpy数组修改元素
-
print(frame2)
-
-
print('用Series指定要修改的索引及其对应的值,没有指定的默认数据用NaN。')
-
val = Series([-1.2, -1.5, -1.7], index = ['two', 'four', 'five'])
-
frame2['age'] = val
-
print(frame2)
-
-
print('赋值给新列')
-
frame2['preson'] = (frame2.name == 'tangshi') # 如果name等于tangshi为True
-
print(frame2)
-
print(frame2.columns)
-
-
print('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)
-
print('frame3转置后数组')
-
print(frame3.T)
-
-
print('指定索引顺序,以及使用切片初始化数据。')
-
# DataFrame(pop,index=[2001,2002,2003])
-
pdata = {'Ohio':frame3['Ohio'][:-1],'Nevada':frame3['Nevada'][:2]}
-
print(DataFrame(pdata))
-
-
print('指定索引和列的名称')
-
frame3.index.name = 'year'
-
frame3.columns.name = 'state'
-
print(frame3)
-
print(frame3.values)
-
-
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/80682537
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)