<p>下面是一种方法,从第一个数据帧中提取一个新的数据帧并合并它:</p>
<pre><code>from itertools import chain
import pandas as pd
data = [
[{"placement": 1, "entrant": {"id": 8554498, "name": "Test"}}],
[{"placement": 2, "entrant": {"id": 8559863, "name": "Test"}}],
[{"placement": 3, "entrant": {"id": 8561463, "name": "Test"}}],
[{"placement": 4, "entrant": {"id": 8559889, "name": "Test"}}],
[{"placement": 5, "entrant": {"id": 8561608, "name": "Test"}}],
[{"placement": 5, "entrant": {"id": 8560090, "name": "Test"}}],
[{"placement": 7, "entrant": {"id": 8561639, "name": "Test"}}],
[{"placement": 7, "entrant": {"id": 8561822, "name": "Test"}}],
[{"placement": 9, "entrant": {"id": 8559993, "name": "Test"}}],
[{"placement": 9, "entrant": {"id": 8561572, "name": "Test"}}],
]
df = pd.DataFrame.from_dict(chain(*data))
result_df = pd.merge_asof(
df.loc[:, df.columns != "entrant"], # Get df without the "entrant" column
df["entrant"].apply(pd.Series), left_index=True, right_index=True
)
</code></pre>
<p>结果如下:</p>
<pre><code> placement id name
0 1 8554498 Test
1 2 8559863 Test
2 3 8561463 Test
3 4 8559889 Test
4 5 8561608 Test
5 5 8560090 Test
6 7 8561639 Test
7 7 8561822 Test
8 9 8559993 Test
9 9 8561572 Test
</code></pre>