以数字方式添加两个数据框的内容(具有不同的列名)

时间:2018-06-25 08:33:57

标签: python pandas

我的代码的一小部分试图通过在数值框架中通过数字添加两个数据框架(不同的列名称)来创建计算列。 但是面临一个问题

elif any(df.filter(regex="INT : Q2")):
df['ABC'] = ((df.filter(regex="INT : Q2", axis=1)/(PL_EURSGD[1])) + 
                                (df.filter(regex="INT : Q1", axis=1)/(PL_EURSGD[0])))  

ValueError: Wrong number of items passed 2, placement implies 1


df.filter(regex="INT : Q2", axis=1)/(PL_EURSGD[1]) #becomes a dataframe in itself with column name as INT : Q2
(df.filter(regex="INT : Q1", axis=1)/(PL_EURSGD[0]) #becomes another dataframe with column name as INT : Q1

请注意,所有值均为数字,没有缺失值。 任何建议为什么会出错。

1 个答案:

答案 0 :(得分:0)

.values可以达到目的:)

elif any(df.filter(regex="INT : Q2")):
   df['ABC'] = ((df.filter(regex="INT : Q2", axis=1)/(PL_EURSGD[1])).values + 
                            (df.filter(regex="INT : Q1", axis=1)/(PL_EURSGD[0])).values)