2020年5月27日 星期三

AIA 20200527 python 小考

#第1題
cx = [1, 3, 5, 7, 2, 1, 8]
def less_than_5(array):
    y = []
    for i in array:
        if i < 5:
            y.append(i)
    return y
print(less_than_5(x))


#第2題
factory1 = {"條件1" :    30, "條件2" : 10, "溫度容許值" : 20}
factory2 = {"條件1" : 48763, "條件3" : 75, "溫度容許值" : 60}
def dict_merge_with_bigger(Dict1, Dict2):
    ND = Dict1
    for key in Dict2:
        if ND.get(key):
            if Dict2[key] > ND[key]:
                ND[key]=Dict2[key]
        else:
            ND[key]=Dict2[key]
    return ND
print(dict_merge_with_bigger(factory1, factory2))


#第3題
#對python物件不熟(待補)


#第4題
def min_max(array):
    min_arr = np.array([])
    max_arr = np.array([])
    for i in array.transpose():
        min_arr = np.append(min_arr,min(i))
        max_arr = np.append(max_arr,max(i))
    return (arr - min_arr) / (max_arr - min_arr)

import numpy as np
arr = np.array(
[[1,3,5],
 [4,5,6],
 [7,8,9]]
)
min_max(arr)

#第5題
def grouped_mean(df, column_name, threshold):
    dict1 = dict(df[df[column_name]<threshold].mean())
    dict2 = dict(df[df[column_name]>=threshold].mean())
    return (dict1,dict2)

import pandas as pd
data = {"height":[150,170,167,158,160],
        "weight":[38,80,59,60,50],
        "salary":[41, 15, 30, 15, 25]}
df = pd.DataFrame(data)
grouped_mean(df, "weight", 60)

沒有留言:

張貼留言