How to retrieve the string after whitespace in pandas series?

Question:

I want to append string TimeClust to a space, followed by the last string (digit) of the pandas series.

time_cluster = "TimeClust" + " ".join(treatment_info.loc["Time Cluster"].to_string().split())

Series:

treatment_info.loc["Time Cluster"]

0
12    Cluster 2
48    Cluster 3
4     Cluster 1
8     Cluster 4
0     Cluster 1

Name: Time Cluster, dtype: object

Expected output:

    0
    12    TimeClust_2
    48    TimeClust_3
    4     TimeClust_1
    8     TimeClust_4
    0     TimeClust_1
Asked By: melolilili

||

Answers:

IIUC, You can use Series.str.replace.

df['Time Cluster'] = df['Time Cluster'].str.replace('Cluster ', 'TimeClust_')
print(df)

    0 Time Cluster
0  12  TimeClust_2
1  48  TimeClust_3
2   4  TimeClust_1
3   8  TimeClust_4
4   0  TimeClust_1
Answered By: I'mahdi

In more complex cases, you can use regex lookbehind assertion (?<=s)w+:

s = pd.Series(['foo 1', 'bar 22'])
s.str.extract(r'(?<=s)(w+)')

Output:

    0
0   1
1  22
Answered By: Mykola Zotko
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.