对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]
Posted
技术标签:
【中文标题】对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]【英文标题】:For a requirement I need to transform a DataFrame into by creating rows out of values from of lists that are in a column of that dataFrame [duplicate] 【发布时间】:2021-11-29 11:51:35 【问题描述】:我需要在不使用循环(或任何其他低效逻辑)的情况下将以下 Dataframe 转换为所需格式,因为 DataFrame 的大小很大,即 95 万行,并且 Points 列中的值有一个长度列表超过 1000 个。我在从数据库中反序列化 blob 数据后获取这些数据,并且需要使用这些数据创建一些 ML 模型。
输入:
输出:
for index,val in df.iterrows():
tempDF = pd.DataFrame(
[[
df['I'][index],df['x'][index],
df['y'][index],df['points'][index],
]]* int(df['points'][index]))
tempDF["Data"] = df['data'][index]
tempDF["index"] = list(range(1,int(df['k'][index])+1))
FinalDF = FinalDF.append(tempDF, ignore_index = True)
我尝试过使用 for 循环,但对于 950,000 行,它需要很长时间,以至于使用该逻辑是不可行的。请帮助我找到熊猫逻辑,如果没有,请帮助我找到其他方法。
*我不得不发布屏幕截图,因为我无法使用表格发布数据框。抱歉,我是 *** 的新手。
【问题讨论】:
df.explode('points')
【参考方案1】:
explode:
df.explode('points')
【讨论】:
以上是关于对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试在另一个数据框的列中查找数据框中的列的元素,但 index() 对我不起作用