我有一个来自CSV文件的数据框,格式如下:
"name";"elapsed"
"etl_A";6.13e-05
"stl_A";0.0001
"etl_B";0.001
"stl_B";0.0003
"etl_C";23.2e-06
...
使用Python Pandas,我想将数据框转换为以下格式:
benchmark_name;etl_elpased;stl_elapsed
A;6.13e-05;0.0001
B;0.001;0.0003
C;23.2e-06;...
我已经使用相应的groupBy
方法结合正则表达式来提取基准名称,从而用其他语言进行了类似的处理,但是我对Python和Pandas还是陌生的。根据我的理解,PandasgroupBy
函数的行为与其他语言不同,我无法弄清楚。
我已经尝试过这样的事情:
def extract_benchmark_name(full_name: str) -> str:
return regex.match(full_name).groups()[1]
df = pandas.read_csv(source, header=0, sep=';')
etl_df = df['etl' in df['name']]
stl_df = df['stl' in df['name']]
etl_df['name'] = etl_df['name'].apply(extract_benchmark_name)
stl_df['name'] = stl_df['name'].apply(extract_benchmark_name)
但是,这看起来不正确,还会给我带来各种错误。
最终,我想将其与matplotlib结合使用以生成像这样的条形图,并带有比较etl和stl的归一化值:
非常感谢您完成这两项任务中的任何一项,谢谢!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句