104學習

104人力銀行 / Google_美商科高國際有限公司 / Field Quality Program Manager (Mandarin) / 符合度分析
Field Quality Program Manager (Mandarin) Google_美商科高國際有限公司
履歷符合度:
登入計算

性格適合度:

職缺要求技能

未具備

Computer science

Data Analysis

測驗

DOE

Failure Analysis

FMEA

Industrial engineering

8D

Insights

Mandarin

making

有已符合的經歷忘了填寫嗎?記得定期 更新履歷

學習推薦

職涯診所

06/17 16:50

0 0 721 0
Kai

Program Manager

2022/02/22

X86、ARM、RISC-V這些IC架構到底是什麼意思呢?
日常新聞中,常會聽到半導體的架構 X86,ARM,這些名詞,到底是在講什麼概念呢?一言以敝之,在PC端,主要就是X86的處理器,而移動端手機、平板就要屬ARM的天下了。
IC 三大架構,X86、ARM 與 RISC-V。擁有 X86 授權的有 Intel 跟 AMD,在桌機、NB、伺服器等領域,Intel 幾乎是佔有絕對優勢。在NVIDIA要收購ARM時,基於ARM的CPU設計公司擔心未來架構授權問題,開源的RISC-V走向了CPU的舞台,成為了各家IC設計公司的新焦點。
1、X86
X86是微處理器執行的計算機語言指令集,指一個Intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合。1978年6月8日,Intel 發布了新款16位微處理器8086,開創了一個新時代:X86架構。
2.ARM
ARM架構是一個32位精簡指令集處理器架構,廣泛地使用在嵌入式系統設計。由於節能的特點,ARM處理器非常適用於移動通訊領域,符合其主要設計目標為低耗電的特性。ARM 的低耗電特性,使得 ARM 架構在手機、平板等應用,擁有 90% 以上市佔率的絕對優勢。 X86 是封閉架構,而 ARM 的授權金較高,因此開放性架構的 RISC-V,讓開發者可以靈活且迅速的設計,並製造出低成本的 IC,使得 RISC-V 在穿戴裝置、IoT 等應用機會大增。。例如Amazon採用 ARM 架構,開發自有伺服器晶片。而 RISC-V 架構的產品,也被應用於 Google、Intel 等公司的雲端伺服器當中。
PC 時代叱吒風雲的 Intel。如果真如 ARK 女股神Cathie Wood於2022年報告所預測, 2030 年,ARM/RICS-V 將佔據伺服器 SoC 7 成以上市占率,那Intel就承受非常大的壓力
ARM 架構的優點是省電,而且 ARM 不生產 IC,而是授權給客戶自行設計、生產。當 ARM 架構成熟,運算能力也越來越強大,Amazon、Apple等公司,便開始自行設計 IC。如Amazon Graviton、Graviton 2,蘋果的 M1 等。
3.RISC-V
RISC-V是基於 精簡指令集計算(RISC)原理建立的開放指令集架構(ISA),RISC-V於指令集不斷發展和成熟的基礎上建立的全新指令。RISC-V 指令集完全開源,易於移植Unix系統,Module化設計,同時有大量的開源實現案例。
先進製程遇到瓶頸,加上 AMD、ARM/RISC-V 的強力挑戰,過去的龍頭老大哥Intel該如何走出新的局面? 半導體賽局精彩下半場即將開打!!
本文參考
1.What Are the Differences Between ARM and x86 Processor Cores?https://www.alliedcomponents.com/blog/arm-vs-x86
看更多
7 7 29129 16
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/27

Pandas DataFrame處理雙維度資料方法(4)
Q:如何取得Pandas DataFrame資料?
1.head():取得最前面的n筆資料,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.head(2)
print(new_df) #取得最前面的兩筆資料
2.tail():取得最後面的n筆資料,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.tail(3)
print(new_df) #取得最後面的三筆資料
3.中括號[]:在中括號中指定「欄位名稱」或「資料索引值」,來取得所需的資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df[["name"]]) #取得單一欄位資料(型別為DataFrame)
print(df[["name", "chinese"]]) #取得多欄位資料(型別為DataFrame)
print(df[0:3]) #取得索引值0~2的資料
4.at[資料索引值,欄位名稱]:利用資料索引值及欄位名稱來取得「單一值」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.at[1, "math"]) #利用at()方法取得索引值為1的math欄位資料
5.iat[資料索引值,欄位順序]:利用資料索引值及欄位順序來取得「單一值」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.iat[1, 0]) #取得索引值為1的第一個欄位資料"
5.loc[資料索引值,欄位名稱]:利用資料索引值及欄位名稱來取得「資料集」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.loc[[1, 3], ["name", "chinese"]]) #取得資料索引值為1和3的name及chinese欄位資料集
6.iloc[資料索引值,欄位順序]:利用資料索引值及欄位順序來取得「資料集」,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print(df.iloc[[1, 3], [0, 2]]) #取得資料索引值為1和3的第一個及第三個欄位資料集
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/11/python-pandas-dataframe-tutorial.html )網站觀看更多精彩內容。
看更多
2 0 484 0
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/27

Pandas DataFrame處理雙維度資料方法(3)
Q:如何刪除Pandas DataFrame資料
1.drop(欄位名稱串列,axis=1):刪除指定欄位名稱的欄位,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.drop(["math"], axis=1)
print("刪除math欄位")
print(new_df)
2.drop(資料索引串列,axis=0):刪除指定資料索引的資料,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.drop([0, 3], axis=0) # 刪除第一筆及第四筆資料
print("刪除第一筆及第四筆資料")
print(new_df)
3.dropna():刪除含有NaN或空值的資料,並且會回傳一個新的Pandas DataFrame資料集,在進行資料清理的時候非常實用,如下範例:
grades = {
"name": ["Mike", "Sherry", np.NaN, "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.dropna()
print("刪除空值後的df")
print(new_df)
4.drop_duplicates():刪除重複的資料,並且會回傳一個新的Pandas DataFrame資料集,同樣最常應用在資料清理的時候,如下範例:
grades = {
"name": ["Mike", "Mike", "Cindy", "John"],
"city": ["Taipei", "Taipei", "Kaohsiung", "Taichung"],
"math": [80, 80, 93, 86],
"chinese": [80, 80, 93, 86]
}
df = pd.DataFrame(grades)
new_df = df.drop_duplicates()
print("刪除重複值後的df")
print(new_df)
Q:如何篩選Pandas DataFrame資料
通常在處理大量的資料集時,有很高的機率會需要利用條件式來篩選所需的資料,這時候就可以利用中括號[]存取欄位來進行資料篩選,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print("篩選math大於80的資料集")
print(df[df["math"] > 80])
另一個最常見的資料篩選情境,就是找出包含特定值的資料集,這時候可以利用Pandas DataFrame的isin()方法(Method)來達成,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
print("篩選name欄位包含John的資料集")
print(df[df["name"].isin(["John"])])
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/11/python-pandas-dataframe-tutorial.html )網站觀看更多精彩內容。
看更多
2 0 2525 0
Mike Ku

Learn Code With Mike品牌創辦人

2021/10/27

Pandas DataFrame處理雙維度資料方法(2)
Q:如何新增Pandas DataFrame資料?
1.insert():在指定的欄位位置新增欄位資料,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
df.insert(2, column="engilsh", value=[88, 72, 74, 98])
print("在第三欄的地方新增一個欄位資料")
print(df)
2.append():新增一筆或一列的資料,透過傳入字典來指定各欄位的值,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.append({
"name": "Henry",
"math": 60,
"chinese": 62
}, ignore_index=True)
print("新增一筆資料")
print(new_df)
3.concat():利用合併多個Pandas DataFrame的方式來新增資料,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df1 = pd.DataFrame(grades)
df2 = pd.DataFrame({
"name": ["Henry"],
"math": [60],
"chinese": [62]
})
new_df = pd.concat([df1, df2], ignore_index=True)
print("合併df來新增資料")
print(new_df)
Q:如何排序Pandas DataFrame資料?
1.sort_index():依照索引值來進行排序,並且會回傳一個新的Pandas DataFrame資料集,如下範例:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
df.index = ["s3", "s1", "s4", "s2"]
new_df = df.sort_index(ascending=True)
print("遞增排序")
print(new_df)
new_df = df.sort_index(ascending=False)
print("遞減排序")
print(new_df)
2.sort_values():依照欄位內容來進行排序,並且會回傳一個新的Pandas DataFrame資料集,下面範例以math欄位內容來進行排序:
grades = {
"name": ["Mike", "Sherry", "Cindy", "John"],
"math": [80, 75, 93, 86],
"chinese": [63, 90, 85, 70]
}
df = pd.DataFrame(grades)
new_df = df.sort_values(["math"], ascending=True)
print("遞增排序")
print(new_df)
new_df = df.sort_values(["math"], ascending=False)
print("遞減排序")
print(new_df)
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/11/python-pandas-dataframe-tutorial.html )網站觀看更多精彩內容。
看更多
3 0 14762 1