pandas数值计算与排序方法

以下代码是基于python3.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)"])

相关推荐