- сократить записи до тех, у которых есть «@» в заголовке
- определить новый столбец, который представляет собой текст между «@» и «:»
- у вас осталось записи, в которых NaN остается в столбце. Я только что отфильтровал их
df = pd.read_csv("Newnormal.csv")
df = df[df["title"].str.contains("@")==True]
df["to"] = df["title"].str.extract(r".*([@][A-Z,a-z,0-9,_]+[:])")
df = df[["from","to","title"]]
df[~df["to"].isna()].to_csv("ToNewNormal.csv", index=False)
df[~df["to"].isna()]
вывод
from to title
1 Xavier5501 @KudiiThaufeeq: RT @KudiiThaufeeq: Royal Rape, Royal Harassmen...
2 Suzane24979006 @USAID_NISHTHA: RT @USAID_NISHTHA: Don't step outside your hou...
3 sandeep_sprabhu @USAID_NISHTHA: RT @USAID_NISHTHA: Don't step outside your hou...
4 oliLince @Timothy_Hughes: RT @Timothy_Hughes: How to Get a Salesforce Th...
7 rismadwip @danielepermana: RT @danielepermana: Pak kasus covid per hari s...
... ... ... ...
992 Reptoid_Hunter @sapiofoxy: RT @sapiofoxy: I literally can't believe we ha...
994 KPCResearch @sapiofoxy: RT @sapiofoxy: I literally can't believe we ha...
995 GreySparkUK @VoxSmartGlobal: RT @VoxSmartGlobal: The #newnormal will see mo...
997 Gabboa10 @HuShameem: RT @HuShameem: One of @PGO_MV admin staff test...
999 wanjirunjendu @ntvkenya: RT @ntvkenya: AAK's Mugure Njendu shares insig...