擅长:python、mysql、java
<p>首先,您需要在数据帧的行上循环</p>
<p>然后对每一行创建一个字典。整个想法是这样的:</p>
<pre><code>result = []
predefined_columns = ['Creation', 'Pickup', 'Departure']
mapping_cl = []
for column in df.columns:
flag = False
for sub_str in predefined_columns:
if sub_str in column:
flag = True
mapping_cl.append(sub_str)
break
if not flag:
mapping_cl.append(False)
for index, row in df.iterrows():
item = {}
for cl in mapping_cl:
if cl:
item[cl] = {}
for i, column in enumerate(df.columns):
if mapping_cl[i]:
cl_name = column.split(mapping_cl[i])[-1]
item[mapping_cl[i]][cl_name] = row[column]
else:
item[column] = row[column]
result.append(item)
</code></pre>
<p>现在<code>result</code>是您想要的<code>dict</code>列表:</p>
<p><a href="https://i.stack.imgur.com/V5FBw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/V5FBw.png" alt="Enter image description here"/></a></p>