gpt4 book ai didi

python - df.drop 如果存在

转载 作者:行者123 更新时间:2023-12-03 07:34:15 25 4
gpt4 key购买 nike

下面是一个函数,它接受一个文件并删除列名“row_num”、“start_date”、“end_date”。

问题是不是每个文件都有这些列名,所以函数返回一个错误。

我的目标是更改代码,以便在这些列存在时删除这些列,但如果该列不存在则不返回错误。

def read_df(file):
df = pd.read_csv(file, na_values=['', ' '])
# Drop useless junk and fill empty values with zero
df = df.drop(['row_num','start_date','end_date','symbol'], axis=1).fillna(0)
df=df[df!=0][:-1].dropna().append(df.iloc[-1])
return df

最佳答案

添加参数 errors DataFrame.drop :

errors : {'ignore', 'raise'}, default 'raise'

If 'ignore', suppress error and only existing labels are dropped.

df = df.drop(['row_num','start_date','end_date','symbol'], axis=1, errors='ignore')
sample :
df = pd.DataFrame({'row_num':[1,2], 'w':[3,4]})
df = df.drop(['row_num','start_date','end_date','symbol'], axis=1, errors='ignore')
print (df)
w
0 3
1 4

关于python - df.drop 如果存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59116716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com