使用 python 将键值分布在多个列中

spread key-values across multiple columns with python

我正在尝试将 df 转置为 df_spread。

import pandas

df = {"Type": ("A", "B", "B", "C","D"),
      "Amount":(220, 68, 1400, 120, 99)
}

df = pandas.DataFrame(df)

我想要的输出是这样的:

df_spread =  {"A": 220, "B": 68, "B": 1400, "C": 120, "D": 99
}

df_spread = pandas.DataFrame(df_spread)

我知道像这样的宽数据帧不是最佳做法,但我打算将 df 与一堆其他数据帧连接起来。

你可以这样做:

df_out = pd.DataFrame(df['Amount']).T
df_out.columns = df['Type']

输出:

      A    B    B   C   D
0   220   68 1400 120  99

IIUC,你可以

>>> df.set_index('Type').T
Type      A   B     B    C   D
Amount  220  68  1400  120  99

(可能之后会进行一些索引重命名,但如果您要与其他 df 连接,您很可能会忽略该索引。)