Python Pandas DataFrame数值计算与排序实战
本文介绍基于Python 3.5.0的Pandas数据处理技巧,涵盖对特定列进行加减乘除、列间相乘、生成新列及加权评分计算。重点演示数据归一化逻辑,并详细解析sort_values方法的升序与降序排序参数及inplace属性的使用,帮助读者掌握基础数据清洗与排序操作。
Pandas DataFrame基础数值运算与列操作
以下代码示例基于Python 3.5.0版本编写。
数据归一化与排序参数详解
import pandas
food_info = pandas.read_csv("food_info.csv")
# ---------------------特定列加减乘除-------------------------
print(food_info["Iron_(mg)"])
div_1000 = food_info["Iron_(mg)"] / 1000
add_100 = food_info["Iron_(mg)"] + 100
sub_100 = food_info["Iron_(mg)"] - 100
mult_2 = food_info["Iron_(mg)"]*2
# ---------------------某两列相乘---------------------------
water_energy = food_info["Water_(g)"] * food_info["Energ_Kcal"]
# ----------------------把某一列除1000,再添加新列----------------------------
iron_grams = food_info["Iron_(mg)"] / 1000
food_info["Iron_(g)"] = iron_grams
#-------------------Score=2×(Protein_(g))−0.75×(Lipid_Tot_(g))--------------
weighted_protein = food_info["Protein_(g)"] * 2
weighted_fat = -0.75 * food_info["Lipid_Tot_(g)"]
initial_rating = weighted_protein + weighted_fat
#----------------------------数据归一化-----------------------------------
max_calories = food_info["Energ_Kcal"].max() #找列最大值
normalized_calories = food_info["Energ_Kcal"] / max_calories
normalized_protein = food_info["Protein_(g)"] / food_info["Protein_(g)"].max()
normalized_fat = food_info["Lipid_Tot_(g)"] / food_info["Lipid_Tot_(g)"].max()
food_info["Normalized_Protein"] = normalized_protein
food_info["Normalized_Fat"] = normalized_fat
# -------------------------------排序----------------------------------
food_info.sort_values("Sodium_(mg)", inplace=True) #升序,inplace=True表示不从建DataFrame
print(food_info["Sodium_(mg)"])
food_info.sort_values("Sodium_(mg)", inplace=True, ascending=False) #降序,ascending=False表示降序
print(food_info["Sodium_(mg)"])
以上关于Pandas数值计算与排序的方法分享完毕,希望能为读者提供实用参考,并欢迎大家继续支持本站内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













