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)
可见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')
效果如图:
读取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会提示
效果图:
可见直接打印默认显示前5条,to_string()打印全部
以json格式另外一种
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