<p>我已使用以下方法来解决此问题:</p>
<pre><code>df = pd.DataFrame({'TYPE': {0: np.array([[np.array(['START'], dtype='<U5')],[np.array(['DIST'], dtype='<U6')],[np.array(['DISTFALSE'], dtype='<U7')],[np.array(['DISTTRUE'], dtype='<U7')],[np.array(['ENCFALSE'], dtype='<U11')],[np.array(['ENCTRUE'], dtype='<U12')]], dtype=object),
1: np.array([[np.array(['DISTFALSE'], dtype='<U5')],[np.array(['START'], dtype='<U10')],[np.array(['DIST'], dtype='<U11')],[np.array(['DISTTRUE'], dtype='<U11')],[np.array(['ENCTRUE'], dtype='<U10')],[np.array(['ENCFALSE'], dtype='<U11')]], dtype=object)},
'TIME': {0: np.array([[ 24413],[ 27481],[ 29382],[ 31923],[ 31249],[ 34690]]),
1: np.array([[ 364582],[ 31234],[ 43123],[ 24444],[ 55551],[ 12355]])}})
# Assuming a df as shown in the problem statement
#Initialize an empty dictionary to hold extracted keys and values
keyvals = {}
for i in range(0, df.shape[0]):
keyrow = df.iloc[i, 0].flatten()
valrow = df.iloc[i, 1].flatten()
for j,k in zip(keyrow, valrow):
try:
keyvals[j].append(k)
except:
keyvals[j] = []
keyvals[j].append(k)
finally:
pass
finDf = pd.DataFrame(dict([(k,pd.Series(v)) for k,v in keyvals.items()]))
</code></pre>
<p>finDf最终采用以下形式:</p>
<pre><code> DISTF START DIST DISTTRUE ENCTRUE ENCFALSE DISTFAL DISTTRU
0 364582.0 24413 27481 24444.0 34690 31249 29382.0 31923.0
1 NaN 31234 43123 NaN 55551 12355 NaN NaN
</code></pre>