Python Pandas庫的學習(二)


今天我們繼續講下Python中一款數據分析很好的庫。Pandas的學習

接着上回講到的,如果有人聽不懂,麻煩去翻閱一下我前面講到的Pandas學習(一)

如果我們在數據中,想去3,4,5這幾行數據,那么我們怎么取呢?

food.loc[3:6]

可以看到,這種取法跟Python中,切片操作一樣。

如果我想去單獨某幾條數據,只需要傳入index值即可

food.loc[[2,5,10]]

 

 如果我先想不通過行去取數據,想通過列去取數據的話,我們該怎么做呢??

我們可以通過列名去拿取數據

col_NB = food["NDB_No"]
print(col_NB)

可以看到,我們取到了第一列的數據出來。

那么我們想取兩列數據出來,我們應該怎么操作呢?

方法跟上面一樣,將列名加到里面,組成一個list列表。

col_2 = ["Zinc_(mg)","Copper_(mg)"]
col_2_all = food[col_2]
print(col_2_all)

 

來我們看下數據上面,有些列名是帶了單位的,那么我們怎么選擇其中某幾個一樣單位的列呢?

 我們先要取到全部的列名,然后將列名中帶有單位(g)的列名取出,並單獨放到一個列表中,最后在取這個列表中的列的數據即可

col_names = food.columns.tolist()
print(col_names)
gram_columns = []
for c in col_names:
    if c.endswith("(g)"):
        gram_columns.append(c)
gram_df = food[gram_columns]
print(gram_df.head(3))

這些都是些簡單的操作,

再比如說,我們想進行一些加減乘除的操作。

我想把單位為mg的數據,轉換成g的數據,這里的做法,就跟Numpy是類似的。 

print(food["Iron_(mg)"])
div_1000 = food["Iron_(mg)"]/1000
print(div_1000)

我們在對某個數據上進行操作,即可得到我們想要的結果。

water_energy = food["Water_(g)"]*food["Energ_Kcal"]

對應位置的乘法操作,需要保證的是,維度要相同才可以!

water_energy = food["Water_(g)"]*food["Energ_Kcal"]
water_energy = food["Water_(g)"]*food["Energ_Kcal"]
iron_grams = food["Iron_(mg)"]/1000
print(food.shape)
food["Iron_(g)"]=iron_grams
print(food.shape)

上一段代碼可以看到,我們把一列名稱的值,進行單位轉換,把mg轉換為g,然后新建了一列數據

將這列數據放到數據集中,之前打印出來的數據維度,8618個樣本,和36個屬性值。后面打印的

是37個屬性值,也就是我們將新的屬性值,放入到原來的數據值中了!前提是,其中的維度要對應上才可以。

weighted_protein = food["Protein_(g)"]*2
weighted_fat =-0.75* food["Lipid_Tot_(g)"]
initial_rating = weighted_protein + weighted_fat

比如說這些運算操作, 維度一樣,相當於對應位置進行運算。

跟Numpy一樣,我們也有一些別方法,求最大值,最小值,平均值等等

 方式基本上跟Numpy類似。

今天就先講到這里。感謝大家的閱讀!感謝~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM