我目前有一个这样的数据框:
我想将“列表”列分解为行。我想使用字典中的键作为列名,所以理想情况下我希望数据框看起来像这样:
eventId listingId currentPrice
103337923 1307675567 ...
103337923 1307675567 ...
103337923 1307675567 ...
这就是我得到的:print(listing_df.head(3).to_dict())
答案 0 :(得分:1)
肯定应该有更好的方法来做到这一点。但这很有效。 :)
{
12:50: 2,
12:51: 1
}
https://github.com/rotorgames/Rg.Plugins.Popup
现在您可以从上面创建一个新的DataFrame:
df1 = pd.DataFrame(
{"a": [1,2,3,4],
"b": [5,6,7,8],
"c": [[{"x": 17, "y": 18, "z": 19}, {"x": 27, "y": 28, "z": 29}],
[{"x": 37, "y": 38, "z": 39}, {"x": 47, "y": 48, "z": 49}],
[{"x": 57, "y": 58, "z": 59}, {"x": 27, "y": 68, "z": 69}],
[{"x": 77, "y": 78, "z": 79}, {"x": 27, "y": 88, "z": 89}]]})
输出是您需要的方式:
现在我们已将列表扩展为单独的行,您可以使用以下内容将json扩展为列:
df2 = pd.DataFrame(columns=df1.columns)
df2_index = 0
for row in df1.iterrows():
one_row = row[1]
for list_value in row[1]["c"]:
one_row["c"] = list_value
df2.loc[df2_index] = one_row
df2_index += 1
希望它有所帮助!