使用 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 连接,您很可能会忽略该索引。)
我正在尝试将 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 连接,您很可能会忽略该索引。)