转换 pandas DataFrame 列的大小写

vy3*_*y32 4 python pandas

我有一个 DataFrame,其中特定列的大小写不一致,我想让它保持一致:

In [1]: df = pd.DataFrame({"vals":["alpha","Beta","GAMMA"]})

In [2]: df
Out[2]: 
    vals
0  alpha
1   Beta
2  GAMMA
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的、Pythonic 的方法来用str.upper()字符串的替换每个值str

dot*_*.Py 7

这应该适合你:

df['vals'] = map(lambda x: x.upper(), df['vals'])
Run Code Online (Sandbox Code Playgroud)

甚至:

df['vals'] = df['vals'].apply(lambda x: x.upper())
Run Code Online (Sandbox Code Playgroud)

PS:在最近的版本中,您还可以:

df['vals'] = df['vals'].str.upper()
Run Code Online (Sandbox Code Playgroud)