自定义修改
Coddy Pandas 数据分析 课程的第 13 课,共 19 课。
要进行自定义修改,请使用 .apply 方法,并传入 lambda 或 function。例如,求某一列中每个数字的平方:
df['num_squared'] = df['num'].apply(lambda x: x**2)也可以将该列与自身相乘来实现:
df['num_squared'] = df['num'] * df['num']要给每行的值加上 2:
df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2要将 Series 中的每个值替换为另一个值,请使用 .map 方法,并传入函数、字典或 Series。
例如,如果我们要将水果名称替换为数字:
fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num).map 和 .apply 都可以接收函数:
df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)如需进一步了解它们的区别,可以阅读这篇文章。
挑战
简单CSV 文件 stats.csv 包含统计信息。
以下是文件的前 5 行:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE- 将
CATEGORY的值替换为:{"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}。 - 创建一个名为
SKILL_MASTERY的新列。使用以下公式填充此列:将SKILL_POINTS列和UTILIZATION列中的值相乘。如果结果大于5,则将其除以 4;否则,将其除以2。最后,将IS_VALID列中的值加到结果上。 - 根据
SKILL_MASTERY按升序排列结果。
将结果存储在 df 变量中。
亲手试试
# 已经将 pandas 导入为 pd
df = pd.read_csv("./stats.csv")
# 在下方编写你的代码
Pandas 数据分析中的所有课
自己练习: Python 在线编译器