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