我的代码的目标是尝试在每次显示时删除一列。我知道有一种无需使用for循环即可删除列的方法。该方法不起作用的原因是列是动态的。问题是.drop命令没有删除指示的列。所以这是一些伪代码。
for column_name in column_name_list:
# create data_frame1 with the column name
# join data_frame with other data_frame2
# Here I drop column_name in data_frame1
data_frame = data_frame.drop(column_name)
问题是在删除之后,column_name在第二次迭代期间重新出现。我的猜测是,我将列拖放到副本上,而不是使用删除的列“保存” data_frame。感谢您的所有帮助。
答案 0 :(得分:1)
加入后,也许您有2个具有相同名称的列。如果您使用相同的名称加入,则可以通过这种方式轻松加入:
dataframe1.join(dataframe2, col_name) # no need to dataframe1.col_name == dataframe2.col_name
如果您已经做过并且上面的代码不起作用(我使用此代码并且已经起作用),则可以使用:
data_frame.select(*set(dataframe.columns) - set(column_names_list))