Python 如何合并lambda和.str.contains
我正在对包含电流和电压数据的.csv文件进行一些数据处理,如下所示: 问题是我复制了四次数据,这是没有效率的 有人能帮我合并“.map”行和“.str.contains”行吗?这样我可以节省时间? 谢谢大家Python 如何合并lambda和.str.contains,python,pandas,data-wrangling,Python,Pandas,Data Wrangling,我正在对包含电流和电压数据的.csv文件进行一些数据处理,如下所示: 问题是我复制了四次数据,这是没有效率的 有人能帮我合并“.map”行和“.str.contains”行吗?这样我可以节省时间? 谢谢大家 ## reading the output file outcome = pd.read_csv(save_path / f"{circuit_name}.csv", error_bad_lines=False) #current = pd.rea
## 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
欢迎来到SO!请花点时间阅读如何发布问题: