pandas 入门(3)
2024-10-07 09:37:13
from pandas import Series, DataFrame, Index
import numpy as np # 层次化索引 对数据重塑和分组操作很有用
data = Series(np.random.randn(10), index=[['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'd'],
[1, 2, 3, 1, 2, 3, 1, 2, 2, 3]])
print(data)
print(data.index)
print(data['b'])
print(data['b':'c'])
print(data.ix[['b', 'd']])
print(data[:, 2])
print(data.unstack()) # 被安排进新的DataFrame中
print(data.unstack().stack()) # 上面的逆运算 frame = DataFrame(np.arange(12).reshape(4, 3), index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]],
columns=[['ohio', 'ohio', 'col'], ['green', 'red', 'green']])
print(frame)
frame.index.names = ['key1', 'key2']
frame.columns.names = ['state', 'color']
print(frame)
print(frame['ohio']) # 从新分级排序
print(frame.swaplevel('key1', 'key2')) # 返回的是互换级别的新对象
print(frame.sortlevel(1)) # 对单个的值进行排序
print(frame.swaplevel(0, 1).sortlevel(0)) # 根据级别汇总统计
print(frame)
print(frame.sum(level='key2')) # key2中相同的索引相加
print(frame.sum(level='color', axis=1)) # color相同的相加 # 使用DataFrame的列
frame = DataFrame({'a': range(7), 'b': range(7, 0, -1), 'c': ['one', 'one', 'one', 'two', 'two', 'two', 'two'],
'd': [0, 1, 2, 0, 1, 2, 3]})
print(frame)
print(frame.set_index(['c', 'd'])) # 选取其中的列变为行索引
print(frame.set_index(['c', 'd'], drop=False)) # 默认会移除,但是也可以保留下来
print(frame.set_index(['c', 'd']).reset_index()) # 是上上的反操作,把索引移到列里面 # 其他有关pandas的话题
# 整数索引
ser = Series(np.arange(3.))
# print(ser[-1]) # 整数索引和列表不一样, 这里会报错
print(ser)
ser2 = Series(np.arange(3), index=['a', 'b', 'c'])
print(ser2[-1]) # 非整数索引没有这样的歧义
print(ser.ix[:1]) ser3 = Series(range(3), index=[-5, 1, 3])
print(ser3)
# print(ser3.iget_value(2)) # 没有这个属性
frame = DataFrame(np.arange(6).reshape(3, 2), index=[2, 0, 1])
print(frame)
# print(frame.irow(0))
# print(frame.icol()) # pandas入门完结
最新文章
- Logging with Log4net (二)
- [转载]T-SQL(Oracle)语句查询执行顺序
- 剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数
- 关于Java多态
- PTPX中的activity文件以及mapping文件
- Windows Message Codes
- 关闭 VS的实时调试器
- 求一字符串最长不重复字符子串的长度【Java 版】
- AIX创建用户
- 租户、租户管理员、部门管理员和开发者在APIGW中的角色
- struts2实现ajax校验的2种方法
- CentOS7系统系统检查脚本
- 图解Tomcat
- 【12月26日】A股滚动市盈率PE最低排名
- kubeadm安装K8S单master双节点集群
- [工具] 各种主流 SQLServer 迁移到 MySQL 工具对比
- bam/sam格式说明--转载
- [翻译][HTML]CELLPADDING and CELLSPACING
- 【NOI 2018】归程(Kruskal重构树)
- IOS批量截取视频截图 UIImage mp4 IOS Video