argparse 初学踩坑点
本文为初学python argparse 时容易遇到的踩坑点 请配合 argparse 初学教程 使用
-
default
请看下列代码
import argparse parser= argparse.ArgumentParser(); parser.add_argument("-t","--threads",type=int,default=1,help="choose the numbers of threads for your downloading.default:1") args=parser.parse_args();当使用 python argparse -t 时 仍会报错
error: argument -t/--threads: expected one argument这是为什么呢?
让我们在最后加上
print(args)然后运行 python xxxx.py
可以清楚的看到输出:
Namespace(threads=1)这时我们会发现 当使用 -t 等其他可选参数时必须加上 argument 而我们提前设置的default 是当-t 没有使用的时候默认的
例如:
python xxxx.py这时没有使用参数-t 所以default 生效
换句话说 没事不要打参数 打出来参数 无论如何 都要加上 argument
-
concat 之后多个dataframe 其中index重复
import pandas as pd df1=pd.DataFrame({'A':[1,2,3,4], 'B':[4,5,6,7]}) df2=pd.DataFrame({'A':[a,b,c,d], 'B':[e,f,g,h]}) df3=pd.concat([df1,df2]) print(df3)结果如下:
one two 0 1 4 1 2 5 2 3 6 3 4 7 0 a e 1 b f 2 c g 3 d h可以观察左列index 重复了
还好python 的dataframe自带函数
使用下列代码重新设置index即可(python 永远的神!!!!)
df3.drop(index=[0],inplace=True)或者其index 也可以通过数组设置:
df5=pd.concat([df1,df2]) df5.index=range(len(df5))