概述
根据下面的示例图像,我正在尝试基于以下regex对dataframe行进行concat:
for row in df.index:
if True in df.loc[row].str.contains("group-object").tolist():
l = df.loc[row].tolist()
for i in l:
match = re.search(r" group-object (\S+)", i)
if match is not None:
print (row,match.group(1))
输出:
^{pr2}$regex正在查找字符串group-object
,match capture组给我group-object
名称。然后我需要对df索引使用这个名称,并将包含捕获名称的行合并到当前行的末尾。在
示例:
在示例图像中,我们看到行索引object-group network prt-apps2
col_1
包含字符串group-object prt-apps
。这是指上面索引为object-group network prt-apps
的行。我需要将这一行(如图中突出显示的那样)合并到行尾索引object-group network prt-apps2
。在
对于正则表达式有匹配项的任何其他行也一样。在
我已经设法做到了这一点,但很难看到如何使用concat或类似产品来实现这一点。在
数据:
从df.to_dict()
dfData = {'col_0': {'object-group network prt-apps': ' network-object object fake-1 host 10.0.0.1',
'object-group network prt-apps2': ' network-object object fake4 host 10.0.0.4',
'object-group network prt-apps3': ' network-object object fake5 host 10.0.0.5'},
'col_1': {'object-group network prt-apps': ' network-object object fake2 host 10.0.0.2 ',
'object-group network prt-apps2': ' group-object prt-apps',
'object-group network prt-apps3': ' group-object prt-apps2'},
'col_2': {'object-group network prt-apps': ' network-object object fake3 host 10.0.0.0 255.255.255.0',
'object-group network prt-apps2': '-',
'object-group network prt-apps3': '-'},
'col_3': {'object-group network prt-apps': ' network-object object fake121',
'object-group network prt-apps2': '-',
'object-group network prt-apps3': '-'}}
df = pd.DataFrame(dfData)
期望输出:
我会非常乐意得到这样的输出,它遵循我上面指定的模式。在
如果可以将数据移到左边,以填充当前任何单元格中的-
,但不是必需的,那就更好了。最下面的一行是最长的,因为它有嵌套的对象,object-group network prt-apps3
包含{
目前没有回答
相关问题 更多 >
编程相关推荐