Python i';我试着减去这两个数据帧,但不是数值

Python i';我试着减去这两个数据帧,但不是数值,python,pandas,dataframe,subtraction,Python,Pandas,Dataframe,Subtraction,我制作了所有需要的数据帧和所有的值,但我不知道为什么会出现NaN 我的代码: `import pandas as pd red_data = pd.DataFrame([[255,0,20],[210,30,0],[220,40,5],[240,10,30], [225,60,20]]) green_data = pd.DataFrame([[0,255,0],[10,240,5],[0,240,20],[5,220,30], [30,230,10]]) blue_data = pd.D

我制作了所有需要的数据帧和所有的值,但我不知道为什么会出现NaN

我的代码:

`import pandas as pd 

red_data = pd.DataFrame([[255,0,20],[210,30,0],[220,40,5],[240,10,30], 
[225,60,20]])
green_data = pd.DataFrame([[0,255,0],[10,240,5],[0,240,20],[5,220,30], 
[30,230,10]])
blue_data = pd.DataFrame([[30,10,220],[10,10,255],[0,0,240],[25,15,210], 
[0,20,220]])

red_data.columns =[["R","G","B"]]
green_data.columns =[["R","G","B"]]
blue_data.columns =[["R","G","B"]]

print(red_data)
print(green_data)
print(blue_data)


Feature1 = red_data.loc[:,"R"]-red_data.loc[:,"G"]
Feature2 = 2*red_data.loc[:,"B"] - red_data.loc [:,"R"] - red_data.loc 
[:,"G"]

print(Feature1)
print(Feature2)`

将代码的相关行替换为

red_data.columns =["R","G","B"]
green_data.columns =["R","G","B"]
blue_data.columns =["R","G","B"]

我认为您创建了多索引列,可能是无意中

red_data.loc[:,“R”]
这应该是错误的,因为您有多索引列,因此我必须访问这些值并使用
。如果您只是将列命名为
red_data.columns=[“R”,“G”,“B”
,则值
,等等,而不是你正在使用的嵌套代码,那么你的代码就可以工作了。嵌套列表命名的原因是什么?我是一名学生(不是专家)*所以我不知道我实际上在做什么,但谢谢你的工作。