【小睿的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  郭小睿  阅读(6)  评论(0编辑  收藏  举报