gpt4 book ai didi

python - Pandas:将 MultiIndex 添加到仅包含 1 行的 DataFrame

转载 作者:太空狗 更新时间:2023-10-30 02:40:39 25 4
gpt4 key购买 nike

我有一个小数据框,如下所示:

enter image description here

和一个元组,例如:(Timestamp('2009-02-27 09:45:00'), 'bloomberg', 'Chicago PMI')

我想在 DataFrame 上创建一个多索引,这样它的内容如下:

enter image description here

当尝试构造 MultiIndex 时:
MI=pd.MultiIndex(index, (0,0,0))
我遇到以下错误:
TypeError: Index(...) 必须用某种集合调用,Timestamp('2009-02-27 09:45:00') 已通过
这似乎意味着不允许有一个带有 MultiIndex 的 1 行 DataFrame?

我正在遍历 mysql 数据库以检索那些 1 行 DataFrame,然后将它们连接起来。尝试使用 concat 命令中的 keys 参数会产生另一组问题,因此希望可以使用 MultiIndex 创建此 1 行 DataFrame

下面是重建数据帧的数据:
将 pandas 导入为 pd
从 Pandas 导入时间戳
dikt={'actual': {0: '34.2'}, 'previous': {0: '33.3'}, 'forecast': {0: '33.0'}, 'importance': {0: 81.300799999999995}}
pd.DataFrame(dikt, columns=['actual', 'forecast', 'previous', 'importance'])

最佳答案

设置

df = pd.DataFrame(
[[34.2, 33., 33.3, 81.3008]],
columns=['actual', 'forecast', 'previous', 'importance'])

tup = (pd.Timestamp('2009-02-27 09:45:00'), 'bloomberg', 'Chicago PMI')

使用 pd.MultiIndex 对象重新分配索引

df.index = pd.MultiIndex.from_tuples([tup])
df

enter image description here

用列表列表重新分配索引

df.index = [[i] for i in tup]
df

enter image description here

使用 rename
的方式非常糟糕这很糟糕,因为它为每一行分配了相同的 TUPLE

df.rename(index=lambda x: tup)

enter image description here

关于python - Pandas:将 MultiIndex 添加到仅包含 1 行的 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41915176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com