首页 > 解决方案 > 熊猫,切片和创建视图

问题描述

我试图了解熊猫何时创建视图以及切片期间何时复制。

为了理解我使用以下的行为:

# check view function
import pandas as pd
import numpy as np
# create a dataframe
df = pd.DataFrame(np.random.randn(10,5), index=list('abcdeqwrty'))
# take a slice
q = df[df[1]>0.5]
# check if it is a view (and it is)
print('q is a view {}'.format(q._is_view))
# change the view by keeping four columns, still a view
q = q.filter([0,1,2,3], axis='columns')
print('q is a view {}'.format(q._is_view))
# change the view by adding a column, not a view anymore
q['one more column'] = 'mplah'
print('q is a view {}'.format(q._is_view))

打印

q 是视图 True
q 是视图 True
q 是视图 False

总体趋势是什么?

非常感谢您提供的任何建议和有用的链接。

问候,

帕诺斯

标签: pythonpandas

解决方案


数据框的切片通常是一个视图,请参阅以下链接

https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html

https://www.dataquest.io/blog/settingwithcopywarning/

希望这些帮助。


推荐阅读