我有一个数据帧,如下图所示:加入数据框中的行与前一行如果条件不匹配
DF
data
10.100.10.10==> [{'ID': 'abcdef', 'date': '2017-04-14', 'serialNo': '215687'}]
10.100.10.10==> [{'ID': 'abcdef', 'date': '2017-04-16', 'serialNo': '456123'}]
10.100.10.10==> [{'ID': 'abcdef', 'date': '2017-04-17'
, 'serialNo': '456125'}]
10.100.10.10==> [{'ID': 'qwerty', 'date': '2017-04-20', 'serialNo': '456166'}]
10.100.10.10==> [{'ID': 'qwerty', 'date': '2017-04-21', 'seri
alNo': '756984'}]
10.100.10.10==> [{'ID': 'zxcvbn', 'date': '2017-04-24', 'serialNo': '852369'}]
10.100.10.10==> [{'ID': 'zxcvbn', 'date': '2017-04-26', 'serialNo': '852367'}]
10.100.10.10==> [{'ID': 'zaqwsx',
'date': '2017-04-27', 'serialNo': '854123'}]
10.100.10.10==> [{'ID': 'edcvfr'
, 'date': '2017-04-28', 'serialNo': '852369'}]
10.100.10.10==> [{'ID': 'yuiopa', 'date': '2017-04-29', 'serialNo': '523698'}]
我要的是,如果行不具有特定字符串开头(在我的情况下它是“10.100.10.10 ==”),它应该与前一行连接。这里例如在第4行是不是从开始“10.100.10.10 ==>”,因此它与3行同为7行,第11和13
data
10.100.10.10==> [{'ID': 'abcdef', 'date': '2017-04-14', 'serialNo': '215687'}]
10.100.10.10==> [{'ID': 'abcdef', 'date': '2017-04-16', 'serialNo': '456123'}]
10.100.10.10==> [{'ID': 'abcdef', 'date': '2017-04-17', 'serialNo': '456125'}]
10.100.10.10==> [{'ID': 'qwerty', 'date': '2017-04-20', 'serialNo': '456166'}]
10.100.10.10==> [{'ID': 'qwerty', 'date': '2017-04-21', 'serialNo': '756984'}]
10.100.10.10==> [{'ID': 'zxcvbn', 'date': '2017-04-24', 'serialNo': '852369'}]
10.100.10.10==> [{'ID': 'zxcvbn', 'date': '2017-04-26', 'serialNo': '852367'}]
10.100.10.10==> [{'ID': 'zaqwsx', 'date': '2017-04-27', 'serialNo': '854123'}]
10.100.10.10==> [{'ID': 'edcvfr', 'date': '2017-04-28', 'serialNo': '852369'}]
10.100.10.10==> [{'ID': 'yuiopa', 'date': '2017-04-29', 'serialNo': '523698'}]
我能够与下面做接合代码,但我有巨大的数据集,它需要很长时间。
for i in range(0,len(df["Data"])):
if df['Data'][i].startswith("10.100.10.10==>"):
df['Data'][i] = df['Data'][i]
else:
df['Data'][i-1] = "".join([df['Data'][i-1],df['Data'][i]])
df = df[df['Data'].str.startswith("10.100.10.10==>")].reset_index(drop=True)
请让我知道是否有任何其他更快的方式来完成此任务。
谢谢@piRSquared。这完全按照我想要的方式工作。 – Shadkhan