如何为 pandas 中的所有列值添加前缀

Nei*_*eil 1 python dataframe pandas

我在 Pandas 中有以下数据框

 Date        stockA     stockB     stockC     stockD   stockE
 2020-01-01  1          1          2          1        3
 2020-01-01  1          2          2          1        2
 2020-01-01  1          1          3          2        1
 2020-01-01  3          1          2          1        2
Run Code Online (Sandbox Code Playgroud)

我想为每列添加前缀,例如 stockA:01、stockB:02 等等。

我想要的数据框是

 Date        stockA     stockB     stockC     stockD   stockE
 2020-01-01  011         021        032        041     053
 2020-01-01  011         022        032        041     052
 2020-01-01  011         021        033        042     051
 2020-01-01  013         021        032        041     052
Run Code Online (Sandbox Code Playgroud)

我同样有 25 列。我怎样才能在熊猫中做到这一点?

ank*_*_91 5

尝试使用df.radd

m = df.set_index('Date')
#add prefix 0X if less than 10 else add prefix X
m = m.astype(str).radd([f"0{i}" if i<10 else f"{i}" 
                 for i in range(1,m.shape[1]+1)]).reset_index()
Run Code Online (Sandbox Code Playgroud)
print(m)
         Date stockA stockB stockC stockD stockE
0  2020-01-01    011    021    032    041    053
1  2020-01-01    011    022    032    041    052
2  2020-01-01    011    021    033    042    051
3  2020-01-01    013    021    032    041    052
Run Code Online (Sandbox Code Playgroud)