在循环遍历多个 DataFrame 时删除“PerformanceWarning”消息

remove 'PerformanceWarning' message while looping through multiple dataframe

提问人:stvlam22 提问时间:10/18/2023 更新时间:10/18/2023 访问量:28

问:

我想重置多个数据帧的索引,我创建了一个容器列表,然后遍历每个数据帧,但我得到了“PerformanceWarning”。我应该忽略它还是任何其他方法来消除警告标志?

df_list = [short_frml,mid_frml,long_frml]

for x in df_list:
    x.reset_index(inplace=True)

PerformanceWarning:DataFrame 高度碎片化。这通常是多次调用的结果,性能较差。请考虑改用 pd.concat(axis=1) 一次联接所有列。若要获取碎片整理的帧,请使用 x.reset_index(inplace=True)frame.insertnewframe = frame.copy()

pandas dataframe 性能 循环 弃用 - 警告

评论


答:

1赞 mozway 10/18/2023 #1

我相信你的错误不是直接由于,而是由于你以前做过的事情。reset_index

最好的办法可能是在一开始就解决这个问题。您是如何构建这些数据帧的?

也就是说,修复它的一个简单选择是制作一个副本,它正在做:reset_index

for i in range(len(df_list)): 
    df_list[i] = df_list[i].reset_index()

评论

1赞 stvlam22 10/18/2023
谢谢mozway,你的回答很有帮助