【发布时间】:2018-03-23 11:11:21
【问题描述】:
当我执行下面的Python 3.4.4 代码以大写 ident 列下的值时,我没有收到任何错误,但我的输出没有大写。需要帮助找出问题。
import pandas as pd
import numpy as np
#Create a dataframe
data = {'ident': ['Jack', 'Mary', 'Teresa', 'James', 'Anna'],
'year': [2001, 2002, 2003, 2004, 2007],
'reports': [67, 5, 36, 9, 14],
'scope': [17, 102, 57, 49, 77]
}
df = pd.DataFrame(data, index = ['Bahia', 'Pico', 'Santa Fe', 'Maine',
'Zuma'])
#Create a capitalizer function
capitalize = lambda x: x.upper()
#Create a capitalizing function over the column 'ident'
df['ident'].apply(capitalize)
print (df)
【问题讨论】:
-
顺便说一句。这不能回答你的问题。下面就回答了。但是,您不需要单独的
lambda。你可以这样做,df['ident'].apply(str.upper)。您未能重新分配该列。请参阅下面的答案。 -
认为 Python 应该有一个规范的问答,上面写着 - 请分配回结果。
-
@Divakar 我们已经看到了很多问题......当他们替换、应用、附加......
标签: python-3.x pandas numpy lambda