How to use regex in pandas to extract below field. the below is one of my pandas dataframe column value, but i wanted to only extract ‘eastus’ and keep it as value for this field. how to filter this. this position is always fixed
Sample df:
correlationId id level ... status.value status.localizedValue tag 0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /subscriptions/xxxxxxxxxxxxxxxxxxxxx/resourcegroups/xxxxxxxxxxxx/providers/Microsoft.RecoveryServices/locations/eastus/events/xxxxxxxxxxxx/ticks/xxxxxxxx Informational ... Succeeded Succeeded Managed by IT
command i tried:
if not df.empty: columns = ["correlationId","eventName.value","id","resourceGroupName","resourceProviderName.value","operationName.value","status.value","eventTimestamp","submissionTimestamp"] df.columns = df.columns.to_series().apply(lambda x: x.strip()) #print(df.columns) df.fillna('Missing', inplace=True) drop_these = ['correlationId'] df['Location'] = df.id.str.split("/")[8]
but its not working
Error:
df['Location'] = df.id.split("/")[8] File "C:Python37libsite-packagespandascoregeneric.py", line 5274, in __getattr__ return object.__getattribute__(self, name) AttributeError: 'Series' object has no attribute 'split'
any suggestion please
Advertisement
Answer
id = '/subscriptions/xxxxxxxx/resourcegroups/xxxxxxxx/providers/Microsoft.RecoveryServices/' 'locations/eastus/events/xxxxxxx/ticks/xxxxx' df = pd.DataFrame({ 'sample':[id] }) df['Location'] = df['sample'].str.split("/",expand=True)[8] print(df) sample Location 0 /subscriptions/xxxxxxxx/resourcegroups/xxxxxxxx/providers/Microsoft.RecoveryServices/locations/eastus/events/xxxxxxx/ticks/xxxxx eastus