天天看点

数据分析必备库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

继续阅读