Python Pandas庫的學習(二)

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

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

若是咱們在數據中,想去3,4,5這幾行數據,那麼咱們怎麼取呢?spa

food.loc[3:6]

能夠看到,這種取法跟Python中,切片操做同樣。code

若是我想去單獨某幾條數據,只須要傳入index值便可blog

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

 

 若是我先想不經過行去取數據,想經過列去取數據的話,咱們該怎麼作呢??ip

咱們能夠經過列名去拿取數據數據分析

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

能夠看到,咱們取到了第一列的數據出來。it

那麼咱們想取兩列數據出來,咱們應該怎麼操做呢?class

方法跟上面同樣,將列名加到裏面,組成一個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相似。

今天就先講到這裏。感謝你們的閱讀!感謝~~

相關文章
相關標籤/搜索