【小睿的ML之路】Pandas索引与计算

import pandas

food_info = pandas.read_csv("food_info.csv",encoding="gbk")
print(food_info)

名称 价格(元) 糖分(g) 重量(kg) 含水量(mg)
0 苹果 200 20 10 30
1 香蕉 100 50 30 70
2 梨 10 20 30 40

food_info.loc[0] # 第O行数据

名称 苹果
价格(元) 200
糖分(g) 20
重量(kg) 10
含水量(mg) 30
Name: 0, dtype: object

# object - string
# int - integer
# float - float
# datetime - time
# bool - boolean
print(food_info.dtypes) # 查看字段类型

名称 object
价格(元) int64
糖分(g) int64
重量(kg) int64
含水量(mg) int64
dtype: object

print(food_info.loc[1:2]) # 切分

名称 价格(元) 糖分(g) 重量(kg) 含水量(mg)
1 香蕉 100 50 30 70
2 梨 10 20 30 40

print(food_info.loc[[0,1,2]]) # 取任意索引

名称 价格(元) 糖分(g) 重量(kg) 含水量(mg)
0 苹果 200 20 10 30
1 香蕉 100 50 30 70
2 梨 10 20 30 40

print(food_info[["价格(元)","名称"]]) # 查询指定列

价格(元) 名称
0 200 苹果
1 100 香蕉
2 10 梨

col_names = food_info.columns.tolist()
print(col_names)
gram_columns= []

for c in col_names:
    if c.endswith('(g)'):
        gram_columns.append(c)
        
print(gram_columns)
gram_df = food_info[gram_columns]
print(gram_df.head(3))

['名称', '价格(元)', '糖分(g)', '重量(kg)', '含水量(mg)']
['糖分(g)']
糖分(g)
0 20
1 50
2 20

# 指定列做单位转换 + 增加列
print(food_info.shape)
print(food_info["糖分(g)"])

div_1000 = food_info["糖分(g)"]/1000
print(div_1000)

food_info["糖分(mg)"] = food_info["糖分(g)"] / 1000 # 指定列做单位转换
print(food_info.shape)
print(food_info)

(3, 6)
0 20
1 50
2 20
Name: 糖分(g), dtype: int64
0 0.02
1 0.05
2 0.02
Name: 糖分(g), dtype: float64
(3, 6)
名称 价格(元) 糖分(g) 重量(kg) 含水量(mg) 糖分(mg)
0 苹果 200 20 10 30 0.02
1 香蕉 100 50 30 70 0.05
2 梨 10 20 30 40 0.02

max_price = food_info["价格(元)"].max() # 取列的最大值
print(max_price)

200

posted @ 2023-09-14 13:23  郭小睿  阅读(50)  评论(0)    收藏  举报