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...