请删除功能
问题描述:
我试图实现一个功能,可自动执行此操作:请删除功能
del data['method_code']
del data['aqi']
del data['local_site_name']
del data['cbsa_name']
我有这样的功能:
def del_data_func(data,columns):
data[columns] = data[columns].apply(lambda x: del(x))
return data
del_list = data.columns[['method_code','aqi','local_site_name','cbsa_name']]
del_data_func (data, del_list)
我如何能实现它正确的方式,避免任何错误像这样:
data[columns] = data[columns].apply(lambda x: del(x))
SyntaxError: invalid syntax
答
我不知道,如果是lambda
要求,否则一个办法是loop
: 如果df
是:
col1 col2 col3 col4 col5
0 1 1 1 1 1
1 2 2 2 2 2
2 3 3 3 3 3
3 4 4 4 4 4
4 5 5 5 5 5
然后,函数可以写为:
def del_data_func(data,columns):
for column_name in columns: del data[column_name]
现在,呼叫功能:
del_list = ['col2', 'col4']
del_data_func (data, del_list)
print(data)
输出:col2
和col4
被去除之后:
col1 col3 col5
0 1 1 1
1 2 2 2
2 3 3 3
3 4 4 4
4 5 5 5
答
为什么不试试这个?
data.drop(['method_code', 'aqi', 'local_site_name', 'cbsa_name'], axis=1, inplace=True)
这份名单可以在任何事实列表,只要在列表中的元素是从你的数据帧的有效列名。
感谢您的答复! – dodo4545