發表於 Python

Python 小筆記

由於常常會遇到一些奇怪的問題,上網查到或是自己有找到方法寫出解法的話,就在這裡紀錄一下吧!
以免沒有記性我忘記當時的想法XD

Pandas:

DataFrame iloc, loc 對比啦:

iloc 我是想像成 int location 所以不管哪一軸或是要找column都一定要用數字來當作index
ex: df.loc[some_list_or_int_value, 3]
loc呢就是可以用其他型態當作index做搜尋的
ex: df.loc[some_list_or_int_value, “id"]

some_list_or_int_value: 顧名思義就是可以用陣列找多個row或是用單一一個int找一個row喔!

像是 SQL 的 Where搜尋:

這邊需要非常注意!!!
很多時候都會把它當作 DataFrame的where,但是其實不是這樣!!
就是單純的這樣寫就可以了!

df[  df[“id"]=="XDDDDDDD" ]

VS

select * from id="XDDDDDDD"

isin:

當你有一個陣列的值需要去 DataFrame 裡面去尋找時可以用

df[ df[‘A’].isin([3, 6]) ]

而 [3,6] 就是你存放需要搜尋的值的陣列
df[‘A’].isin([3, 6]) ==> 這樣會回傳一個都是 True, False 的陣列,row的個數跟 df 一樣
然後再將牠放到 df[ … ] 裡面,這樣就可以把想要搜尋的row找到了

MultiIndex 多Index設定方法:

index_array = [
df[“id"].values,
[i.strip() for i in df[“hosp_id"].values]
]
df = pd.DataFrame(index=index_array)

DataFrame Date Parser:

如果想要把資料用datetime格是讀進來的話可以用~

def dateparse(raw_date):
for fmt in [“%Y%m%d", “%Y%m"]:
try:
return datetime.datetime.strptime(raw_date, fmt)
except ValueError:
pass
return np.nan

df = pd.read_csv(“./xxx.csv", date_parser=dateparse, parse_dates=[“in_date","out_date","appl_date"])

 

小幫手 Function:

檢查元素是否一樣:

def check_same(iterator):
return len(set(iterator)) <= 1

作者:

一位 熱愛資工領域、喜歡好笑事物、偶爾打打網球 的學生 ! For A Better Me!

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.