原代码
import numpy as np
import pandas as pd
data=[[1,2,3],[4,5,6],[7,8,9]]
dataframe=pd.DataFrame(data,index=['a','b','c'],columns=['one','two','three'])
print(dataframe)#创建数据对象
x=dataframe['two']>2#筛选第1列(存在第0列概念情况下)中值大于2的所有行数据
data1=dataframe.loc[x]
print(data1)
data1['four']=10
print(data1)#为data1添加一列数据,列索引为‘four’,值都为10
data1[data1>=9]=8#将data1中大于九的数据修改为8
print(data1)
然后会发生Stringwithcopywarning错误
经过修改后现代码
import numpy as np
import pandas as pd
data=[[1,2,3],[4,5,6],[7,8,9]]
dataframe=pd.DataFrame(data,index=['a','b','c'],columns=['one','two','three'])
print(dataframe)#创建数据对象
x=dataframe['two']>2,['one','two','three']#筛选第1列(存在第0列概念情况下)中值大于2的所有行数据
data1=dataframe.loc[x]
print(data1)
data1['four']=10
print(data1)#为data1添加一列数据,列索引为‘four’,值都为10
data1[data1>=9]=8#将data1中大于九的数据修改为8
print(data1)
在发生错误后我努力修改最后发现在筛选大于2的时候在x=dataframe['two']>2后面加上['one','two','three']也就是列之后错误消失,刚学python不久不太懂,求大佬讲解一下为什么会这样??拜托了