Python 通过逐行迭代数据帧来创建字典
这是一个简单的数据帧Python 通过逐行迭代数据帧来创建字典,python,pandas,dictionary,Python,Pandas,Dictionary,这是一个简单的数据帧 sample=pd.DataFrame({'Budjet_id':['K1','K2','K3'],'cost':[20000,30000,4000]}) sample Budjet_id cost 0 K1 20000 1 K2 30000 2 K3 4000 将其转换为字典,并将其嵌入另一个类似这样的字典中 data={} data['work'] = 'Budget' data['dat
sample=pd.DataFrame({'Budjet_id':['K1','K2','K3'],'cost':[20000,30000,4000]})
sample
Budjet_id cost
0 K1 20000
1 K2 30000
2 K3 4000
将其转换为字典,并将其嵌入另一个类似这样的字典中
data={}
data['work'] = 'Budget'
data['data_sample']=[{m:sample.values[i][n] for n, m in enumerate(sample.columns)} for i in range(0,len(sample))]
data
这将提供以下输出
{'work': 'Budget',
'data_sample': [{'Budjet_id': 'K1', 'cost': 20000},
{'Budjet_id': 'K2', 'cost': 30000},
{'Budjet_id': 'K3', 'cost': 4000}]}
但预期产出如下
{'work': 'Budget','data_sample':{'Budjet_id':'K1','cost':'20000'},
'data_sample':{'Budjet_id':'K2','cost':'30000'},
'data_sample':{'Budjet_id':'K2','cost':'4000'}}
有没有办法做到这一点
{'work': 'Budget','data_sample':{'Budjet_id':'K1','cost':'20000'},
'data_sample':{'Budjet_id':'K2','cost':'30000'},
'data_sample':{'Budjet_id':'K2','cost':'4000'}}
如果这是您想要的输出,则它不是有效的字典,因为同一个键有多个数据。预期输出的问题是存在重复的
key
s,python中的dict需要唯一的键。因此无法创建。看起来您想要的结果需要一个字典,其中键data\u sample
出现多次。字典不允许这样做。@jezrael
,@BoarGules
,@MircoT
是的,你的评论都可以接受。我试图在R中为(我在start_from_row:NROW(dataset)){data_sample_row=list()data_sample_row[['data_sample']]]=as.list(dataset[I,])复制此代码
通过创建一个简单的数据框
并在for循环
中添加一些其他项
。然后将其作为JSON脚本
发送到请求。post