【问题标题】:Constructing DataFrame from dict with rows instead of columns使用行而不是列从 dict 构造 DataFrame
【发布时间】:2022-11-17 16:54:21
【问题描述】:

我有一个具有以下设置的字典:

{('CMS', 'LNT'): 0.8500276624334894,
 ('LNT', 'CMS'): 0.8500276624334894,
 ('LOW', 'HD'): 0.8502400376842035,
 ('HD', 'LOW'): 0.8502400376842036,
 ('SWKS', 'QRVO'): 0.8507993847326996,
 ('QRVO', 'SWKS'): 0.8507993847326996,
 ('WFC', 'BAC'): 0.8510581675586776,
.....

现在我想把这个字典变成一个数据框。我正在使用以下代码,其中 abc 是字典的名称:

data_results_1y = pd.DataFrame.from_records(abc, index=[0])
data_results_1y

代码的输出是:

    (AAL, DAL)  (AAL, UAL)  (AEE, CMS)  (AEE, LNT)  (AEE, WEC)  (AEP, XEL)
0   0.873762    0.898774    0.859258    0.853194    0.8679  0.851787

但是我希望 Dataframe 有多行而不是多列。 所以输出应该是这样的:

(AAL, DAL)  0.873762
(AAL, UAL)  0.898774
(AEE, CMS)  0.859258
(AEE, LNT)  0.853194
(AEE, WEC)  0.8679
(AEP, XEL)  0.851787

其中字典的组合键就是索引。

我怎样才能做到这一点?

我已经尝试将 Dataframe 构造中的索引设置为 abc.key、abc.values,但没有用

【问题讨论】:

    标签: python pandas dictionary


    【解决方案1】:

    你可以使用transpose

    data_results_1y=data_results_1y.T
    

    【讨论】:

    • 非常感谢!这非常有效。
    猜你喜欢
    • 2021-06-06
    • 2019-08-25
    • 1970-01-01
    • 2015-12-25
    • 2023-03-03
    • 2021-10-06
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多