缩小pandas dataframe列中的每个单词

时间:2015-04-20 20:39:35

标签: python-3.x pandas

我是pandas的新手,并且在pandas数据框中有一个列,其中包含我想要转换为小写的字符串(非小写)。数据框列称为:

df['labels']

及其元素都是(字符串)列表:

0     ["Cat", "Dog", "Horse"]
1     ["Pig", "Fish", "Giraffe"]
....

我想小写列表中的每个字符串,直观地我尝试了这个:

for element in input_data['labels']:
    for word in element:
        word.lower()

但在print(input_data["labels"]上没有任何东西是低级的。

2 个答案:

答案 0 :(得分:1)

以下方法可行但通常将列表存储为数据IMO是个坏主意:

In [18]:

df['labels'] = df['labels'].apply(lambda x: [w.lower() for w in x])
df
Out[18]:
                 labels
0     [cat, dog, horse]
1  [pig, fish, giraffe]

答案 1 :(得分:1)

这会让你想要 -

df = pd.DataFrame({'Labels' : [["Cat", "Dog", "Horse"],
                               ["Pig", "Fish", "Giraffe"]]})

df['Labels'].apply(lambda x: [y.lower() for y in x])

0       [cat, dog, horse]
1    [pig, fish, giraffe]
Name: Labels, dtype: object

但是,就像评论中提到的那样,你需要以这种方式存储数据吗?