您好我想从我的数据框中的多行和多列中删除{endIndex:8,startIndex:0,value:
中的date-and-time:{city:{endIndex:8,startIndex:0,value:Atlantic}
。
以下是我的数据框中一行的示例。
{ "_id" : ObjectId("5ad13551df70d8025b7811db"), "Article url" : "http://wreg.com/2015/08/02/mpd-officer-killed-in-the-line-of-duty-identified/", "Full text" : "Blah blah", "Json" : "{circumstances:{number-of-shots-fired:{endIndex:-1,startIndex:-1,value:},type-of-gun:{endIndex:-1,startIndex:-1,value:}},date-and-time:{city:{endIndex:7,startIndex:0,value:MEMPHIS},clock-time:{endIndex:226,startIndex:218,value:9:15 p.m}, victim-section:[{age:{endIndex:151,startIndex:148,value:33,},gender:Male,name:{endIndex:146,startIndex:135,value:Sean Bolton},race:{endIndex:-1,startIndex:-1,value:},victim-was:[killed]}]}", "Publication date" : "2015-08-03 10:24:27+00:00" }
正如您所看到的,{endIndex:,startIndex:,value:}
显示在一堆具有不同值的不同列中(有时没有值)。
那我怎么去
date-and-time:{city:{endIndex:7,startIndex:0,value:MEMPHIS}
到我想要的输出
date-and-time:{city:MEMPHIS}
*我知道这个价值没有意义,所以请忽略它。
到目前为止,我一直在考虑使用pandas.DataFrame.replace结合正则表达式来查找符合我条件的子字符串。
new_df=old_df.replace('abc{endIndex:X,startIndex:Y,value:ABC', '', regex=True)
abc,ABC和X,Y的等效正则表达式是什么?它们可以是什么。
答案 0 :(得分:1)
new_df=a.replace('{endIndex:(.+),startIndex:(.+),value:', '', regex=True)