pandas 更改数据apply/applymap/map/replace

改变表格内容

选择一个并赋值

df.loc[1,'name']='starfish' #选择第二行 name标签下的值更改为starfish

选择多个使用列表来赋值

df.loc[1,['name','age']]=['starfish', 18 ]

数据类型转换

df['age'].astype(float)

nan的默认类型是float,因此计算有缺失值nan列的平均值时,应将该列的数值类型变为float计算。

apply/applymap/map/replace方法

  • apply()

    df.email.apply(funcname)
    df.email.apply(len) #使用自定义函数 lambda 内置函数都可以

    [tips]

    1. apply()对dataframe来说是针对Series使用

    2. apply()对Series来说是针对Series中的每一个元素使用

  • applymap()
    applymap针对整个dataframe中的每一个元素使用

  • map()/replace()
    df.map({'from1':'to1','from2':'to2'})

    [TIPS] :

    • map与replace不同的是会将字典中没有映射的变为NAN,而replace则将其保持原样。

    • 注意map()/replace()都是针对一个元素的所有内容。例如要查找shell替换为shell_script,而一个表格内容为shell/c++ 则不替换,因为该元素内的内容不仅仅是shell。

  • replace()与.str.replace()区别

    replace 针对整个内容,例如要查找shell替换为shell_script,而一个表格内容为shell/c++ 则不替换。

    .str.replace 针对一个元素内部字符串的内容,例如要查找shell替换为shell_scrip,而一个表格内容为shell/c++ 则替换为shell_script/c++。

你可能感兴趣的:(pandas,python,pandas)