我有一个问题,我已经尝试解决了一段时间。我必须使用类似于 CSV 的数据集,并且有一列包含方程形式的数据。以下是本专栏内容的示例:
validate employee="Claire" car="V_13" start="B02" stop="B13" start_date="21072018_095000" stop_date="21072018_103000"
所以我想将此列拆分为 6 列:validate employee, car, start, stop, start_date, stop_date 及其包含在引号之间的相应数据,用 pandas。
数据集已经在数据框中。
提前致谢
你可以使用 Series.str.extractall
随后对索引和 unstacking 进行一些操作:
# Assuming DataFrame is in the form
df = pd.DataFrame(['''validate employee="Claire" car="V_13" start="B02" stop="B13" start_date="21072018_095000" stop_date="21072018_103000"''','''validate employee="Claire" car="V_13" start="B02" stop="B13" start_date="21072018_095000" stop_date="21072018_103000"'''])
df[0].str.extractall(r'(\S+)="(.*?)"').set_index(0, append=True).droplevel(1).unstack(1)
[输出]
1
0 car employee start start_date stop stop_date
0 V_13 Claire B02 21072018_095000 B13 21072018_103000
1 V_13 Claire B02 21072018_095000 B13 21072018_103000
我是一名优秀的程序员,十分优秀!