Python正在使用CopyWarning设置

Python正在使用CopyWarning设置,python,pandas,dataframe,Python,Pandas,Dataframe,我想知道为什么第一个代码(从CSV读取数据)有一条警告消息SettingWithCopyWarning:试图在数据帧的切片副本上设置一个值,而第二个代码(使用相同的逻辑,但手动数据帧初始化)没有此警告消息 代码#1 代码#2 上述两个代码生成相同的警告。当两个代码在同一个python应用程序/控制台中运行时,会生成两次警告(每个代码生成一次),但由于警告过滤器设置为一次,因此只报告一次 一次:仅打印第一次出现的匹配警告,不管如何 位置信息。 始终:始终打印匹配的警告 提及 要更改此行为,请将“警

我想知道为什么第一个代码(从CSV读取数据)有一条警告消息
SettingWithCopyWarning:试图在数据帧的切片副本上设置一个值,而第二个代码(使用相同的逻辑,但手动数据帧初始化)没有此警告消息

代码#1

代码#2


上述两个代码生成相同的警告。当两个代码在同一个python应用程序/控制台中运行时,会生成两次警告(每个代码生成一次),但由于警告过滤器设置为一次,因此只报告一次

一次:仅打印第一次出现的匹配警告,不管如何 位置信息。
始终:始终打印匹配的警告

提及

要更改此行为,请将“警告过滤器”设置为“始终”

import warnings
warnings.filterwarnings("always")

是的,我在Python2.7和pandas 0.16.2中都得到了警告,当在控制台中运行时,所述警告在每个控制台中仅显示一次。因此,如果您在同一个python控制台上运行这两个代码,您只会第一次看到警告。当我尝试使用ipython笔记本电脑时,我在两个代码上都得到了警告。我在这两个代码上都得到了警告,熊猫的哪个版本以及你从哪里运行代码?@Padraic Cunningham:我在PyCharm(Python 2.7)中运行代码。关于熊猫,我不确定它的版本。我刚刚用“pip install pandas”安装了它,必须是16.0.2,然后,我不能使用pycharm、2.7和相同版本的pandas进行复制。无论运行在相同或不同的文件中,这两条消息都会传播。您是否在pycharm中为第二个文件设置了任何解释器参数/选项?我已将这两个代码保存为*.py文件。在PyCharm中,我分别运行它们。每次执行Code1时,它都会生成警告,而code2.py不会生成任何警告。我没有使用控制台。你知道为什么会发生这种情况吗?我做了另一个测试,将这两个代码放在同一个*.py文件中,并添加了“导入警告。过滤警告(“始终”)”。现在它会生成两次警告消息。然后我回到code2.py,以防我添加“导入警告。过滤警告(“始终”)”,警告不会再次出现…@klausklausos我不熟悉pycharm行为。然而,我尝试使用*py文件并从命令行执行代码,每次都会出现警告。我在Ubuntu14上用python2.7和python3进行了测试,很可能是pycharm的错误。无论如何,谢谢你的回答。
list1 = ['bla', 'la', 'lal']    
list2 = [1, 2, 3]      
myData = pd.DataFrame({'1': list1, '2':list2})  

for i in range(len(myData)):  
    myData['1'][i] = 3  
import warnings
warnings.filterwarnings("always")