系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:pycharm-community-2016.3.2
- 这个系列主要是实际在做项目的一个笔记
- 自监控项目,主要是对采集的质量监控数据做的一个实时预警
- 今天讲讲对DataFrame的行列索引重排序
Part 1:构建一个DataFrame
- 一个
DataFrame
可以看成一个二维表格,不过这个二维表格有行标题也有列标题,而且每类标题可能不止一级 - 示例中由一个字典构建一个DataFrame
- 通过
index
参数指定行名称 - 构建完一个DataFrame后,另外通过
loc
又增加了一列
- 通过字典构建DataFrame,它的列已经默认排序好了
- 为了体现后续的排序效果,额外增加了一列
import pandas as pd
dict1 = {"e": [1, 2, 3, 4], "c": [11, 12, 13, 14],
"b": [21, 22, 23, 24], "d": [31, 32, 33, 34]}
df = pd.DataFrame(dict1, index=["j", "k", "h", "i"])
df.loc[:, "a"] = [91, 92, 93, 94]
print("df=\n", df, "\n")
运行结果
Part 2:根据索引排序
sort_index(axis=0, ascending=True)
可以选择对行索引排序还是列索引排序
axis=0
对行索引排序axis=1
对列索引排序ascending=True
为升序
df2 = df.sort_index(axis=0, ascending=True)
print("df2=\n", df2, "\n")
df3 = df.sort_index(axis=1, ascending=True)
print("df3=\n", df3, "\n")
运行结果
Part 3:将索引转化为列表输出
- 使用
tolist()
函数将索引直接转化为列表 df.index.values
也可以得到索引对应的值,但是类型依然是numpy.ndarray
ind = df.index.tolist()
print("ind=", ind)
print("ind类型", type(ind), "\n")
ind2 = df.index.values
print("ind2=", ind2)
print("ind2类型", type(ind2))
运行结果
以上为本次的学习内容,下回见
本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出
更多原创请关注微信公众号
扫描二维码,关注公众号
Python 优雅 帅气