将 str() 函数应用于 pandas 数据框中的所有列

问题描述 投票:0回答:1

我想从 pandas 数据帧的每一列的每个单元格中提取一些字符。 MWE如下:

import pandas as pd

# initialize list of lists
data = [['tom', 'jerry'], ['nick', 'fury'], ['juli', 'anna']]
 
# Create the pandas DataFrame    
df = pd.DataFrame(data, columns=['Name', 'Name2'])

df2 = df['Name'].str[:1] # this works for a single column
df3 = df.map(str[:1]) # this does not work for the entire dataframe

`

我能够从单个列(df2)中删除字符串,但无法对整个数据帧执行此操作(df3 尝试)。我收到的错误是

TypeError: type 'str' is not subscriptable

python pandas
1个回答
0
投票

你必须

apply
可调用:

df.apply(lambda s: s.str[:1])
© www.soinside.com 2019 - 2024. All rights reserved.