如何合并lambda和.str.contains

问题描述

我正在对具有电流和电压数据的.csv文件进行一些数据处理,如下所示: 问题是我将数据复制了四次,效率不高 有人可以帮助我合并“ .map”行和“ .str.contains”行,以便节省时间吗? 谢谢大家

    ## reading the output file
    outcome = pd.read_csv(save_path / f"{circuit_name}.csv",error_bad_lines=False)
    #current = pd.read_csv(save_path / f"{circuit_name}.csv",error_bad_lines=False)
    #voltage = pd.read_csv(save_path / f"{circuit_name}.csv",error_bad_lines=False)
    return outcome


def treat_spice_outcome(outcome):
    ## find only rows with the keyword (vdummy) and (v(2))
    current = outcome[outcome['Circuit: *array'].str.contains("vdummy")]
    voltage = outcome[outcome['Circuit: *array'].str.contains("v\(2\)")]

    ## rename the column names
    voltage = voltage.rename(columns={"Circuit: *array": "voltage"})
    current = current.rename(columns={"Circuit: *array": "current"})

    ## remove unwanted characters like (v(2) = ) from each row
    voltage['voltage'] = voltage['voltage'].map(lambda x: x.lstrip('v(2) = ').rstrip('aAbBcC'))
    current['current'] = current['current'].map(lambda x: x.lstrip('i(vdummy) = ').rstrip('aAbBcC'))

    ## reseting index for merging
    current = current.reset_index(drop = True)
    voltage = voltage.reset_index(drop = True)

    ## merge the two dataframes
    results = pd.merge(voltage,current,left_index=True,right_index=True)
    results = results.astype(float)
    return results

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)