python - 有没有办法改变 Pandas str 表示以显示列的 dtypes(如 R' tibble 或 Julia 的 DataFrame)?
问题描述
有没有一种简单的方法来更改 Pandasstr
和html
表示以显示dtypes
标题下方的列(如 R'stibble
或 Julia's DataFrame
)?
我查看了文档,pd.set_options()
但没有找到这样的选项。我发现的唯一方法是修改类的__repr__
and _repr_html_
,DataFrame
可能是通过一个子类。
解决方案
一个快速而肮脏的解决方案是为列设置一个 MultiIndex:
import pandas as pd
A = ["16-01-21 0:00",
"16-01-21 0:05",
"16-01-21 0:10",
"16-01-21 0:15",
"16-01-21 0:20",
"16-01-21 1:20",
"16-01-21 1:40",
]
B = [95.75, 90.10, 86.26, 92.72, 81.54, 4, 8]
C = [0.0, 0.0, 0.0, 0.0, 0.0, 0, 0]
df = pd.DataFrame({"A": A, "B": B, "C": C})
df.A = pd.to_datetime(df.A)
cols = [(c, getattr(df, c).dtype) for c in df.columns]
df.columns = pd.MultiIndex.from_tuples(cols, names=["name", "type"])
这将导致类似:
name A B C
type datetime64[ns] float64 float64
0 2021-01-16 00:00:00 95.75 0.0
1 2021-01-16 00:05:00 90.10 0.0
2 2021-01-16 00:10:00 86.26 0.0
3 2021-01-16 00:15:00 92.72 0.0
4 2021-01-16 00:20:00 81.54 0.0
5 2021-01-16 01:20:00 4.00 0.0
6 2021-01-16 01:40:00 8.00 0.0
推荐阅读
- mysql - 为什么闭包 laravel 中有未定义的变量?
- c# - 可以返回两个不同页面对象之一的 C# 函数
- html - 如何通过 ajax 从 url 中的谷歌图表发送值?
- javascript - 在 React 的道具更改上重新渲染子组件的最佳解决方案是什么?
- wordpress - Wordpress/ACF 将多个字段值合并为一个
- r - obj$bs_quants[[1]] 中的错误:下标超出 plot_bootstrap 函数的范围
- c# - 如何连接到数据库
- firebase - 我可以创建一个包含 fcm 消息的新活动吗?
- d3.js - d3.js 使用数据数组在线性到对数之间更改轴
- flutter - 如何将抽屉小部件放在右侧