<p>因此,考虑到这个玩具数据框:</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
df = pd.DataFrame(
[
[
[{"text": "Improvement ..."}],
[],
[],
[{"text": "@einen tete..."}],
],
[
[{"text": "Overseaming..."}],
[],
[],
[{"text": "No. 64 5,8l5..."}],
],
]
)
print(df)
# Outputs
0 1 2 3
0 [{'text': 'Improvement ...'}] [] [] [{'text': '@einen tete...'}]
1 [{'text': 'Overseaming...'}] [] [] [{'text': 'No. 64 5,8l5...'}]
</code></pre>
<p>您可以这样做:</p>
<pre class="lang-py prettyprint-override"><code>df = df.applymap(lambda x: x[0]["text"] if x != [] else x)
print(df)
# Ouputs
0 1 2 3
0 Improvement ... [] [] @einen tete...
1 Overseaming... [] [] No. 64 5,8l5...
</code></pre>
<p>或者,您可以像这样迭代和更新值:</p>
<pre class="lang-py prettyprint-override"><code>for col in df.columns:
for i in df.index:
try:
df.loc[i, col] = df.loc[i, col][0]["text"]
except IndexError:
continue
print(df)
# Ouputs
0 1 2 3
0 Improvement ... [] [] @einen tete...
1 Overseaming... [] [] No. 64 5,8l5...
</code></pre>