将字典值附加到现有的熊猫数据框

时间:2019-10-10 19:31:08

标签: python pandas dictionary append

我有一个带有30 col的空数据框,我正在解析每个文件并提取数据,将元数据提取到字典中,字典的键与数据框的col标头匹配,字典中的键数取决于可用的键在文件中,如何根据字典中的值在数据框中插入一行?

文件中的数据

 Col1                 Col2    Col3
 PD  .                 DD:   PERMANENT DATUM
 LMF .                 RT:   LOG MEASURED FROM
 DAPD.FT               98:   FEET ABOVE PERMANENT DATUM
 DMF .                 RT:   DRILLING MEASURED FROM
 EKB .FT               100:   KELLY BUSHING
 EGL .FT             -500:   GROUND LEVEL
 DATE.           08/12/95:   RUN DATE
 RUN .                  3:   RUN NUMBER} 

数据帧头:永久数据,从中测量的日志,高于永久数据的英尺,从中测量的钻孔,凯利灌木丛

所需的输出:  Col2列中的值应转换为一行,并将Col33值与数据帧标题匹配,然后插入一行

我写了一个代码来解析文件并转换为字典: {'PERMANENT DATUM': 'DD', 'LOG MEASURED FROM': 'RT', 'FEET ABOVE PERMANENT DATUM': '98', 'DRILLING MEASURED FROM': 'RT', 'KELLY BUSHING': '100', 'GROUND LEVEL': '500', 'RUN DATE': '08/12/95', 'RUN NUMBER': '3'}

如何将此字典中的值附加到现有数据框中?字典中的键与数据帧头匹配,并且始终是数据帧头的子集。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,请提供以下输入:

df = pd.DataFrame(columns=['PERMANENT DATUM', 'LOG MEASURED FROM', 'FEET ABOVE PERMANENT DATUM', 'DRILLING MEASURED FROM', 'KELLY BUSHING', 'GROUND LEVEL', 'RUN DATE', 'RUN NUMBER'])

row = {'PERMANENT DATUM': 'DD', 'LOG MEASURED FROM': 'RT', 'FEET ABOVE PERMANENT DATUM': '98', 'DRILLING MEASURED FROM': 'RT', 'KELLY BUSHING': '100', 'GROUND LEVEL': '500', 'RUN DATE': '08/12/95', 'RUN NUMBER': '3'}

您要向数据框添加一行,只需执行以下操作:

df = df.append(row, ignore_index=True)

并给出:

  PERMANENT DATUM LOG MEASURED FROM FEET ABOVE PERMANENT DATUM  \
0              DD                RT                         98   

  DRILLING MEASURED FROM KELLY BUSHING GROUND LEVEL  RUN DATE RUN NUMBER  
0                     RT           100          500  08/12/95          3