python-pandas之DataFrame数据分析(五)

举报
brucexiaogui 发表于 2021/12/30 00:44:43 2021/12/30
【摘要】 python-pandas之DataFrame数据分析(五)   '''DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。• DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引) 可以输入给DataFrame构造器的数据...

python-pandas之DataFrame数据分析(五)

 


  
  1. '''
  2. DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同
  3. 的值类型(数值、字符串、布尔值等)。
  4. • DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用
  5. 同一个索引)
  6. 可以输入给DataFrame构造器的数据
  7. 类型 说明
  8. 二维ndarray 数据矩阵,还可以传入行标和列标。
  9. 由数组、列表或元组组成的字典 每个序列会变成DataFrame的一列,所有序列的长度必须相同。
  10. NumPy的结构化/记录数组 类似于“由数组组成的字典”
  11. 由Series组成的字典 每个Series会组成一列。如果没有显示指定索引,则各Series的索引会被合并成结果的
  12. 行索引。
  13. 由字典组成的字典 各内层字典会成为一列。键会被合并成结果的行索引,跟“由Series组成的字典”的情
  14. 况一样。
  15. 字典或Series的列表 各项将会成为DataFrame的一行。字典键或Series索引的并集将会成为DataFrame的列
  16. 标。
  17. 由列表或元组组成的列表 类似于“二维ndarray”
  18. 另一个DataFrame 该DataFrame的索引将会被沿用,除非显示指定了其他索引。
  19. NumPy的MaskedArray 类似于“二维ndarray”的情况,只是掩码值在结果DataFrame会变成NA/缺失值。
  20. '''
  21. import numpy as np
  22. from pandas import Series ,DataFrame
  23. print('用字典生成DataFrame,key为列的名字。')
  24. data = {'name':['libai','dufu','liqingzhao','wanganshi','tangshi'],
  25. 'age':[100,200,300,400,500],
  26. 'banji':['一班','二班','三班','四班','五班']}
  27. print(DataFrame(data))
  28. print(DataFrame(data,columns=['age','banji','name'])) # 指定列顺序
  29. print('指定索引,在列中指定不存在的列,默认数据用NaN。')
  30. frame2 = DataFrame(data,
  31. columns=['age','banji','name','student'],
  32. index=['one', 'two', 'three', 'four', 'five'])
  33. print(frame2)
  34. print(frame2['age']) #指定获取列索引对应的值
  35. print(frame2.name) #指定获取列索引对应的值
  36. print(frame2.ix['five']) #获取行索引对应的值
  37. frame2['age']=10 # 修改一整列的值
  38. print(frame2)
  39. frame2.age = np.arange(5) # 用numpy数组修改元素
  40. print(frame2)
  41. print('用Series指定要修改的索引及其对应的值,没有指定的默认数据用NaN。')
  42. val = Series([-1.2, -1.5, -1.7], index = ['two', 'four', 'five'])
  43. frame2['age'] = val
  44. print(frame2)
  45. print('赋值给新列')
  46. frame2['preson'] = (frame2.name == 'tangshi') # 如果name等于tangshi为True
  47. print(frame2)
  48. print(frame2.columns)
  49. print('DataFrame转置')
  50. pop = {'Nevada':{2001:2.4, 2002:2.9},
  51. 'Ohio':{2000:1.5, 2001:1.7, 2002:3.6}}
  52. frame3 = DataFrame(pop)
  53. print('frame3转置前数组')
  54. print(frame3)
  55. print('frame3转置后数组')
  56. print(frame3.T)
  57. print('指定索引顺序,以及使用切片初始化数据。')
  58. # DataFrame(pop,index=[2001,2002,2003])
  59. pdata = {'Ohio':frame3['Ohio'][:-1],'Nevada':frame3['Nevada'][:2]}
  60. print(DataFrame(pdata))
  61. print('指定索引和列的名称')
  62. frame3.index.name = 'year'
  63. frame3.columns.name = 'state'
  64. print(frame3)
  65. print(frame3.values)

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80682537

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。