一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

python中pandas常用命令詳解

pandas 是基于NumPy 得一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建得。Pandas 納入了大量庫(kù)和一些標(biāo)準(zhǔn)得數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需得工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)得函數(shù)和方法。你很快就會(huì)發(fā)現(xiàn),它是使Python成為強(qiáng)大而高效得數(shù)據(jù)分析環(huán)境得重要因素之一。

1、pandas

pandas 是一個(gè)多功能且功能強(qiáng)大得數(shù)據(jù)科學(xué)庫(kù)。 

2、讀取數(shù)據(jù)

pd.read_csv("data.csv")

3、讀取指定列

pd.read_csv("data.csv", usecols=["date", "price"])

4、讀取并解析日期

pd.read_csv("data.csv", parse_dates=["date"])

5、讀取時(shí)指定數(shù)據(jù)類型

        在讀取時(shí)設(shè)置類別數(shù)據(jù)類型可以節(jié)省內(nèi)存。

pd.read_csv("data.csv", dtype={"house_type": "category"})

6、讀取時(shí)設(shè)置索引

pd.read_csv("data.csv", index_col="date")

7、設(shè)置讀取得行數(shù)

pd.read_csv("data.csv", nrows=100)

8、讀取時(shí)跳過行數(shù)

pd.read_csv("data.csv", skiprows=[1, 5])  # skips line 1 and 5pd.read_csv("data.csv", skiprows=100)  # skips the first 100 linespd.read_csv("data.csv", skiprows=lambda x: x > 0 and np.random.rand() > 0.1) # skip 90% of the rows

9、指定NA值

pd.read_csv("data.csv", na_values=["?"])

10、設(shè)置布爾值

pd.read_csv("data.csv", true_values=["yes"], false_values=["no"])

11、一次讀取多個(gè)文件后合并

import globimport osfiles = glob.glob("file_*.csv")result = pd.concat([pd.read_csv(f) for f in files], ignore_index=True)

12、復(fù)制數(shù)據(jù)

df = pd.read_clipboard() 

13、從 PDF 文件中讀取表格

from tabula import read_pdf# Read pdf into list of DataFramedf = read_pdf('test.pdf', pages='all')

14、快速可視化數(shù)據(jù)集

import pandas_profilingdf = pd.read_csv("data.csv")profile = df.profile_report(title="Pandas Profiling Report")profile.to_file(output_file="output.html")

15、按dtype過濾列

# 選擇df.select_dtypes(include="number")df.select_dtypes(include=["category", "datetime"]) # 排除df.select_dtypes(exclude="object")

16、推斷數(shù)據(jù)類型

df.infer_objects().dtypes

17、向下轉(zhuǎn)換數(shù)值類型

pd.to_numeric(df.numeric_col, downcast="integer") # smallest signed int dtypepd.to_numeric(df.numeric_col, downcast="float")  # smallest float dtype

18、防止錯(cuò)誤值并填充

# apply to whole data framedf = df.apply(pd.to_numeric, errors="coerce")# apply to specific columnspd.to_numeric(df.numeric_column, errors="coerce")# filling NA values with zeropd.to_numeric(df.numeric_column, errors="coerce").fillna(0)

19、按列數(shù)據(jù)類型轉(zhuǎn)換

df = df.astype(    {        "date": "datetime64[ns]",        "price": "int",        "is_weekend": "bool",        "status": "category",    })

20、重命名列

df = df.rename({"PRICE": "price", "Date (mm/dd/yyyy)": "date"}, axis=1)

21、添加后綴和前綴

df.add_prefix("pre_")df.add_suffix("_suf")

22、從原列創(chuàng)建新列

# create new column of Fahrenheit values from Celciusdf.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)

23、在特定位置插入列

random_col = np.random.randint(10, size=len(df))df.insert(3, 'random_col', random_col) # inserts at third column

24、三元表達(dá)式

df["logic"] = np.where(df["price"] > 5, "high", "low")

25、刪除列

df.drop('col1', axis=1, inplace=True)df = df.drop(['col1','col2'], axis=1)s = df.pop('col')del df['col']df.drop(df.columns[0], inplace=True)

26、修改列名

df.columns = df.columns.str.lower()df.columns = df.columns.str.replace(' ', '_')

27、判斷包含

df['name'].str.contains("John")df['phone_num'].str.contains('...-...-....', regex=True)  # regexdf['email'].str.contains('gmail')

28、根據(jù)正則查找

pattern = '([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})'df['email'].str.findall(pattern, flags=re.IGNORECASE)

29、檢查缺失值并打印缺失百分比

def missing_vals(df):    """prints out columns with perc of missing values"""    missing = [        (df.columns[idx], perc)        for idx, perc in enumerate(df.isna().mean() * 100)        if perc > 0    ]     if len(missing) == 0:        return "no missing values"        # sort desc by perc    missing.sort(key=lambda x: x[1], reverse=True)     print(f"There are a total of {len(missing)} variables with missing valuesn")     for tup in missing:        print(str.ljust(f"{tup[0]:<20} => {round(tup[1], 3)}%", 1))missing_vals(df)

30、處理缺失值

# drop df.dropna(axis=0)df.dropna(axis=1)# imputedf.fillna(0)df.fillna(method="ffill")df.fillna(method='bfill')# replacedf.replace( -999, np.nan)df.replace("?", np.nan)# interpolatets.interpolate() # time seriesdf.interpolate() # fill all consecutive values forwarddf.interpolate(limit=1) # fill one consecutive value forwarddf.interpolate(limit=1, limit_direction="backward")df.interpolate(limit_direction="both")

31、從今天/之前獲取 X 小時(shí)/天/周

# from todaydate.today() + datetime.timedelta(hours=30)date.today() + datetime.timedelta(days=30)date.today() + datetime.timedelta(weeks=30) # agodate.today() - datetime.timedelta(days=365)

32、過濾兩個(gè)日期

df[(df["Date"] > "2015-01-01") & (df["Date"] < "2017-01-01")]

33、按日/月/年過濾

df[(df["Date"] > "2015-01-01") & (df["Date"] < "2017-01-01")]

34、格式化數(shù)據(jù)格式

format_dict = {    "Date": "{:%d/%m/%y}",    "Open": "${:.2f}",    "Close": "${:.2f}",    "Volume": "{:,}",} df.style.format(format_dict)

35、設(shè)置數(shù)據(jù)顏色

(    df.style.format(format_dict)    .hide_index()    .highlight_min(["Open"], color="red")    .highlight_max(["Open"], color="green")    .background_gradient(subset="Close", cmap="Greens")    .bar('Volume', color='lightblue', align='zero')    .set_caption('Tesla Stock Prices in 2017'))

36、獲取一列中最大最小項(xiàng)得id

df['col'].idxmin()df['col'].idxmax()

37、對(duì)數(shù)據(jù)列應(yīng)用函數(shù)

df.applymap(lambda x: np.log(x))

38、隨機(jī)打亂數(shù)據(jù)

df.sample(frac=1, random_state=7).reset_index(drop=True)

39、時(shí)間序列得百分比變化

df['col_name'].pct_change()

40、分配等級(jí)

df['rank'] = df['column_to_rank'].rank()

41、檢查內(nèi)存占用

df.memory_usage().sum() / (1024**2) #converting to MB

42、將列得值分解為多行

df.explode("col_name").reset_index(drop=True)

43、將數(shù)量較小得類別轉(zhuǎn)換為“其他”

subclass = df.MSSubClasssubclass.value_counts()top_five = subclass.value_counts().nlargest(5).indexmssubclass_new = subclass.where(subclass.isin(top_five), other="Other")mssubclass_new.value_counts()

到此這篇關(guān)于python中pandas常用命令得內(nèi)容就介紹到這了,更多相關(guān)python pandas常用命令內(nèi)容請(qǐng)搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評(píng)論
更多 網(wǎng)友評(píng)論1 條評(píng)論)
暫無評(píng)論

返回頂部

主站蜘蛛池模板: 91最新在线视频 | 日韩午夜一区二区三区 | 国精久久| 亚洲97 | 欧美一区二区三区国产 | 一级黄色片一级黄色片 | 日韩精品久久久 | 在线免费观看黄网 | 欧美理论在线观看 | 亚洲精品乱码久久久久久按摩观 | 国产激情视频在线 | 午夜视频在线观看视频 | 欧美精品综合在线 | 精品久久久久久久 | a级在线免费观看 | 国产成人精品久久二区二区91 | eeuss国产一区二区三区四区 | 欧美一级片在线观看 | 精品国产乱码一区二区三区a | 欧美日产国产成人免费图片 | 成人综合视频在线 | 免费精品视频 | 激情毛片| 亚洲男人天堂 | 久久国产视频网 | 免费成人av | www国产成人免费观看视频 | 色婷婷久久久久swag精品 | 国产a爽一区二区久久久 | 免费视频一区二区三区在线观看 | 成人欧美一区二区三区黑人孕妇 | 国产精品欧美一区喷水 | 亚洲欧美精品一区 | 色在线免费视频 | 日本 欧美 国产 | 亚洲欧美中文字幕在线观看 | 亚洲成人国产 | 欧美精品久久 | 性欧美精品一区二区三区在线播放 | 久久综合久 | 亚洲精品乱码 |