天天看點

資料分析必備庫pandas 夠用代碼

Pandas 是 Python 語言的一個擴充程式庫,用于資料分析。

Pandas 是一個開放源碼、BSD 許可的庫,提供高性能、易于使用的資料結構和資料分析工具。

Pandas 名字衍生自術語 "panel data"(面闆資料)和 "Python data analysis"(Python 資料分析)。

Pandas 一個強大的分析結構化資料的工具集,基礎是 Numpy(提供高性能的矩陣運算)。

Pandas 可以從各種檔案格式比如 CSV、JSON、SQL、Microsoft Excel 導入資料。

Pandas 可以對各種資料進行運算操作,比如歸并、再成形、選擇,還有資料清洗和資料加工特征。

Pandas 廣泛應用在學術、金融、統計學等各個資料分析領域。

本質:将csv,xlsx,json,二維json的資料轉換為二維資料結構Pandas DataFrame

對這種結構的資料進行增添删改查

資料分析的基本步驟是:

導入庫:在代碼單元格中導入所需的庫。通常,你需要導入Pandas作為資料處理和分析的主要庫,以及Matplotlib或Seaborn作為圖形庫。

讀取資料:使用Pandas的read_csv()函數或其他相關函數從檔案中讀取資料。

資料清洗和處理:使用Pandas的各種函數和方法對資料進行清洗、處理和轉換。你可以使用Pandas的資料選擇、過濾、排序、填充缺失值等功能來處理資料。

# 選擇特定列

selected_columns = data[['column1', 'column2']]

# 過濾資料

filtered_data = data[data['column1'] > 10]

# 填充缺失值

data['column2'].fillna(0, inplace=True)

資料分析和統計:使用Pandas進行資料分析和統計分析。Pandas提供了各種函數和方法來計算統計名額、聚合資料、建立透視表等。

# 計算平均值

mean_value = data['column1'].mean()

# 統計摘要資訊

summary_stats = data.describe()

# 建立透視表

pivot_table = data.pivot_table(values='column1', index='column2', aggfunc='mean')

繪制圖形:使用Matplotlib或Seaborn等庫繪制圖形。這些庫提供了豐富的繪圖函數和方法,可以建立折線圖、柱狀圖、散點圖、箱線圖等。

# 繪制折線圖

plt.plot(data['column1'], data['column2'])

plt.xlabel('Column 1')

plt.ylabel('Column 2')

plt.title('Line Plot')

# 繪制柱狀圖

sns.barplot(x='column1', y='column2', data=data)

plt.xlabel('Column 1')

plt.ylabel('Column 2')

plt.title('Bar Plot')

plt.show()

挖掘資料價值

Pandas DataFrame 是一種二維資料結構,如二維數組或包含行和列的表格。

建立Pandas DataFrame

以json格式{name[str]: value[arr]}

import pandas as pd #改名pandas

data = {

"calories": [420, 380, 390],

"duration": [50, 40, 45]

}

#load data into a DataFrame object:

df = pd.DataFrame(data)

print(df)

資料分析必備庫pandas 夠用代碼

可見data是個json對象;裡面是另外一個json,這個json的value是數組

pd.DataFrame(data) 指的是建立Pandas DataFrame*對象

Pandas DataFrame對象的長相是鄰接矩陣,行索引預設0,1,2,列索引為json[i]的值

json[i]的嵌套[j]按列展開

讀取csv,裝換為Pandas DataFrame

pandas.read_csv(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=None, infer_datetime_format=_NoDefault.no_default, keep_date_col=False, date_parser=_NoDefault.no_default, date_format=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, on_bad_lines='error', delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=_NoDefault.no_default)[source]

df = pd.read_csv('data.csv')

效果如圖:

資料分析必備庫pandas 夠用代碼

讀取xlsx,轉化為Pandas DataFrame

pd.read_excel(path, sheet_name=0, header=0, names=None, index_col=None,

usecols=None, squeeze=False,dtype=None, engine=None,

converters=None, true_values=None, false_values=None,

skiprows=None, nrows=None, na_values=None, parse_dates=False,

date_parser=None, thousands=None, comment=None, skipfooter=0,

convert_float=True, **kwds)

使用常用參數就行,pycham會提示

效果圖:

資料分析必備庫pandas 夠用代碼

可見直接列印預設顯示前5條,to_string()列印全部

以json格式另外一種

資料分析必備庫pandas 夠用代碼

df = pd.DataFrame(data),注意json是三維json格式

對象資料查詢

看名認識函數功能

df.head() #預設5條

df.head(10)

df.tail()

df.info()

df.to_string() #全部裝換為str

按行按列按索引名查詢見:

文檔教程

https://wavedatalab.github.io/datawithpython/munge.html

增添删改查

見文檔:

pandas教學文檔

https://pandas.pydata.org/docs/user_guide/index.html

菜鳥教程pandas

https://www.runoob.com/pandas/pandas-dataframe.html

繼續閱讀