Pandas百題大衝關

2021-09-26 06:59:49 字數 2827 閱讀 5724

pandas實驗樓百題大衝關

pandas官方文件 pandas: powerful python data analysis toolkit

pandas 是基於 numpy 的一種資料處理工具,該工具為了解決資料分析任務而建立。pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的函式和方法。

series dataframe

pandas建立靈活,可從字典

6修改索引

s1.index = [『a』, 『b』, 『c』, 『d』, 『e』] # 修改後的索引

s18.按指定索引刪除元素

print(s4)

s4 = s4.drop(『e』) # 刪除索引為 e 的值

s49修改指定索引元素

s4[『a』] = 6

切片 s4[:3]

s4.add(s3) sub mul div

求中位數,求和 最大,最小

s4.median()

s4.sum()

…25,26 檢視索引,檢視列

df2.index

df2.columns

28df2.describe()

30df2.sort_values(by=『age』) # 按 age 公升序排列

33df2[[『age』, 『animal』]] # 傳入乙個列名組成的列表

34df2.iloc[1:3] # 查詢 2,3 行

35生成 dataframe 副本,方便資料集被多個不同流程使用

df3 = df2.copy()

df338

修改第 2 行與第 2 列對應的值 3.0 → 2.0

df3.iat[1, 1] = 2 # 索引序號從 0 開始,這裡為 1, 1

df339

df3.loc[『f』, 『age』] = 1.5

df344預設值操作

df4 = df3.copy()

print(df4)

df4.fillna(value=3)

45df5 = df3.copy()

print(df5)

df5.dropna(how=『any』) # 任何存在 nan 的行都將被刪除

46left = pd.dataframe()

right = pd.dataframe()print(left)

print(right)

按照 key 列對齊連線,只存在 foo2 相同,所以最後變成一行

pd.merge(left, right, on=『key』)

47,48

檔案寫入,讀取

51時間索引序列,統計時間,轉換時區。。。

58多重索引

letters = [『a』, 『b』, 『c』]

numbers = list(range(10))

mi = pd.multiindex.from_product([letters, numbers]) # 設定多重索引

s = pd.series(np.random.rand(30), index=mi) # 隨機數

s66條件查詢

67行列索引切片

df.iloc[2:4, 1:3]

df[df[『age』] > 3]

69關鍵字查詢

df3[df3[『animal』].isin([『cat』, 『dog』])]

73分組求和

df4.groupby(『animal』).sum()

74pieces = [temp_df1, temp_df2, temp_df3]

pd.concat(pieces

76df.sub(df.mean(axis=1), axis=0)

78透視表

pd.pivot_table()

83絕對型別

df[「grade」].cat.categories = [「very good」, 「good」, 「very bad」]

df88

df[『flightnumber』] = df[『flightnumber』].interpolate().astype(int)

89temp = df.from_to.str.split(』_』, expand=true)

temp.columns = [『from』, 『to』]

temp

90temp[『from』] = temp[『from』].str.capitalize()

temp[『to』] = temp[『to』].str.capitalize()

temp

91df = df.drop(『from_to』, axis=1)

df = df.join(temp)

print(df)

92df[『airline』] = df[『airline』].str.extract(

『([a-za-z\s]+)』, expand=false).str.strip()

df94

df = pd.dataframe()

def choice(x):

if x > 60:

return 1

else:

return 0

df.grades = pd.series(map(lambda x: choice(x), df.grades))

df95

df = pd.dataframe()

#df =df.drop_duplicates()

df.loc[df[『a』].shift() != df[『a』]]

96歸一化

97視覺化

98折線圖

99散點圖

100餅圖

python 百錢百雞題

例子 有100文錢,要買100隻雞,公雞5文乙隻,母雞3文乙隻,小雞三隻一文,問公雞母雞小雞各多少只?方法一 1 usr bin env python2 coding utf 8 3for a in range 100 5 1 4for b in range 100 3 1 5for c in ra...

UVa百題總結

總算刷夠 演算法競賽入門經典 100題了,就像教主所說,有了練acm的誠意,受自身水平和眼界所限,這總結難免會有一些個人色彩和不正確的地方,大牛勿噴。另外我的文筆可能極其拙劣,將就著看吧。按照教主的進度安排,最理想的情況是寒假學完前八章,下學期開始學動態規劃 數學和圖論的基礎,為暑假集訓打下基礎。暑...

pandas處理大文字資料

當資料檔案是百萬級資料時,設定chunksize來分批次處理資料 案例 美國 競選時的資料分析 讀取資料 import numpy as np import pandas as pd from pandas import series,dataframe df1 pd.read csv usa el...