Pandas索引与计算

(1)获取某行数据 

如:

获取第0行:file1.loc[0]

获取第0行到第3行数据: file1.loc[0:3]

获取第2行第5行和第10行的数据:  file1.loc[[2,5,10]]

                                                       或者data_flag  = [2,5,10]           print(file1.loc[data_flag])

(2)获取某列的数据

如:

获取名为NDB_No的整列:   ndb_col = file1["NDB_No"]               #NDB_No为列名

获取某两列数据:
columns = ["Zinc_(mg)", "Copper_(mg)"]
print(file1[columns])

获取列名以"(g)"结尾的列:

import pandas

file1 = pandas.read_csv(r"...文件地址..")

col_names = file1.columns.tolist()              #以一行的形式读取出文件列名

pram_columns = []

for c in col_names:

    if c.endswith("(g)"):

        pram_columns.append(c)
gram_df = file1[pram_columns]

print(gram_df.head(3))

(3)将某列数据整体乘除一个值

import pandas

food_info = pandas.read_csv(r"...文件地址...")

div_1000  = food_info["Iron_(mg)"] / 1000                  #将这一列所有数据除以1000

print(div_1000)

(4)两列中对应数值相乘除

import pandas

food_info = pandas.read_csv(r"E:\PyCharm\food_info.csv")

water_energy = food_info["Water_(g)"]*food_info["Energ_Kcal"]            #两列中对应位置数值相乘

(5)生成新的一列加入到列表当中

import pandas 

food_info = pandas.read_csv[r"E:\PyCharm\food_info.csv"]

iron_gram = food_info["iron_(mg)"] / 1000                                       #将原来的列除以1000生成新的一列

food_info["iron_(g)"] = iron_gram                                                     #将新的一列加入到列名为iron_(g)的列中

print(food_info.shape)                                                                       #查看表格中有多少行多少列

(6)加减乘除操作

参考(3),(4)举一反三吧   

还是举个例子吧 >_<

import pandas
food_info = pandas.read_csv(r"E:\PyCharm\food_info.csv")
weighted_protein = food_info["Protein_(g)"]*2
weighted_fat = -0.75 * food_info["Lipid_Tot_(g)"]
initial_rating = weighted_protein + weighted_fat
print(initial_rating)

(7)求出列中的最大值

import pandas 

food_info = pandas.read_csv(r"E:\PyCharm\food_list.csv")

max_calories  = food_info["Energ_Kcal"].max()                                 #求出这一列当中最大的之值

可以让某列除以最大值,算出数据和最大值的比率。

猜你喜欢

转载自blog.csdn.net/qq_39112101/article/details/84995132