今天咱們繼續講下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相似。
今天就先講到這裏。感謝你們的閱讀!感謝~~