【问题标题】:Convert dataframe to dictionary in python with column names使用列名将数据框转换为python中的字典
【发布时间】:2020-11-22 13:01:53
【问题描述】:

这是我正在使用的数据框。

     Product  January  February  March  April  May  June
 NR-DZ600MB       10        10     10     10   10    10
NR-F654GT-XG      10        10     10     10   10    10
NU-SC300BYPQ      10        10     10     10   10    10
NU-SC180BYPQ      10        10     10     10   10    10
   SR-JQ105       10        10     10     10   10    10
  

我想要得到的输出是这样的

{('一月', 'NR-DZ600MB'): 10, ('一月', 'NR-F654GT-XG'): 10, ('一月', 'NU-SC300BYPQ'): 10, ('一月','NU-SC180BYPQ'):10,('二月','NR-DZ600MB'):15,('二月','NR-F654GT-XG'):20,('二月','NU- SC300BYPQ'): 10, ('二月', 'NU-SC180BYPQ'): 10, ('三月', 'NR-DZ600MB'): 10, ('三月', 'NR-F654GT-XG'): 10, ('March', 'NU-SC300BYPQ'): 10, ('March', 'NU-SC180BYPQ'): 10....}

我应该怎么做?

【问题讨论】:

标签: python dataframe dictionary


【解决方案1】:
data = {'Product':['NR-DZ600MB', 'NR-F654GT-XG', 'NU-SC300BYPQ', 'NU-SC180BYPQ', 'SR-JQ105'], 
         'January':[10,10,10,10,10], 'February':[10,10,10,10,10], 'March':[10,10,10,10,10],
         'April':[10,10,10,10,10], 'May':[10,10,10,10,10], 'June':[10,10,10,10,10]}

df = pd.DataFrame(data)

array = {}
for i in range(1,(df.shape[1])):
    for j in range(df.shape[0]): 
        col = df.columns[i]
        array[df.columns[i],df['Product'][j]] = df[col][j]
    
print(array)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 2016-10-12
    相关资源
    最近更新 更多