Pandas入门 1.读取和写入数据 ①read _csv():从 CSV文件读取数据到DataFrame。 import pandas as pd 读取文件名为"data.csv'的数据 df= pd.read_csv('data.csv') ②read_excel():从 Excel文件读取数据。 假设有一个文件名为1data.xlsx df = pd.read_excel('data.xlsx') ③read_sql():从SQL数据库读取数据。 import pandas as pd import sqlalchemy as sa #建立数据库连接 engine = sa.create_engine('sqlite:///my_database.db') #读取名为'my_table'的表格 df= pd.read_sql('my_table', engine) ④to_csv():将DataFrame数据写入CSV文件。 df.to_csv('output.csV', index=False) ⑤to_excel():将DataFrame数据写入 Excel文件。 df.to_excel('output.xlsx', index=False) ⑥to_sql():将DataFrame数据写入SQL数据库。 df.to_sql('my_table',engine, if_exists='replace',index=False) ⑦read_json(),to_json():读取和写入JSON文件。 #读取JSON df= pd.read_json('data.json') #写入JSON df.to_json('output.json') ⑧read_htm l(),to_html():读取HTML表格数据,写入数据到HTML。 #读取HTML #返回一个列表,每个元素是一个DataFrame list_of_df= pd.read_html('http://example. com/table.html') #写入HTML df.to_html('output.html') ⑨read_parquet(),to_parquet():读取和写入Parquet文件,一种高效的列存储格式。 #读取Parquet df= pd.read_parquet(' data.parquet') #写入Parquet df.to_parquet('output.parquet') 2.数据探索和检查 ①head():查看DataFrame 的前几行。 df.head()#默认显示前5行 ②tail():查看DataFrame 的后几行。 df.tail()#默认显示后5行 ③info():获取DataFrame的概要信息。 df. info() ④describe ():显示数据的统计摘要。 df. describe() ⑤dtypes:查看每列的数据类型。 df.dtypes 3.数据清洗和预处理 ①dropna ():删除含有缺失值的行或列。 df.dropna()#删除含有NaN 的行 ②fiulna():填充缺失值。 df.f1llna(value=0)#用日填充NaN ③drop():删除指定的行或列。 df.drop(C'column1','column2'],axis=1)#删除指定列 ④rename():重命名DataFrame 的索引或列名。 df.rename (columns={'old_name': Inew_name '}) ⑤astype():转换列的数据类型。 df['column'].astype(' float') 4.数据筛选和索引 ①loc[:基于标签的索引。 df.loc[df['column']>10] ②iloc[]:基于位置的索引。 df.iloc[o:5]#选择前5行 ③query():使用查询字符串来筛选数据。 df.query('column >10') 5.数据操作和转换 ①groupby():按照某些列进行分组。 df.groupby('column').sum () ②pivot-table():创建透视表。 df.pivot_table(values='D', index=['A', 'B'], columns=['C']) ③merge():合并两个DataFrame。 pd.merge(df1, df2, on='key') ④concat():连接两个或多个DataFrame。 pd.concat([df1, df2]) ⑤apply():对数据应用函数。 df.apply(lambda x: x.max()-x.min() 6.时间序列分析 ①to_datetime():将字符串转换为datetime对象。 pd.to_datetime (df[' column ']) ②resample ():对时间序列数据进行重采样。 df.resample('M').mean() ③rolling():应用滚动窗口计算。 df.rolling(window=3).mean() 7.其他有用功能 ①unique():查找列中的唯一值。 df[' column'].unique() ②va lue_counts():计算一列中各值出现的频次。 df['column'].value_counts() ③sort_values():按照一列或多列的值进行排序。 df.sort_values (by='column') ④isna():检测缺失值。 df.isna() 8.聚合和统计 ①sum():计算数值列的总和。 df['column'].sum() ②mean():计算数值列的平均值。 df['column'].mean() ③median():计算数值列的中位数。 df['column'].median() ④min():找出数值列的最小值。 df['column '].min() ⑤max():找出数值列的最大值。 df['Column'].max() ⑥std():计算数值列的标准差。 df['column'].std () ⑦var():计算数值列的方差。 df['column '].var() ⑧count():计算非空值的数量。 df[' column'].count() ⑨agg():使用一个或多个操作同时对一组数据进行聚合。 df.agg({'column1':['sum', 'min'l, 'column2': ['max', Imean']}) 9.数据转换 ①melt():将DataFrame 从宽格式转换为长格式。 pd.melt(df, id_vars=['A'l,value_vars=['B', 'C']) ②pivot():将数据从长格式转换为宽格式。 df.pivot(index=' date', columns='variable', values='value') ③cut():将连续数据分割成离散的区间。 pd.cut(df[' column'1, bins=3) ④qcut():基于样本分位数来分割数据。 pd.qcut(df[' column'], q=4) 10.字符串处理 ①lower():将字符串转换为小写。 df[' column '].str.lower() ②upper():将字符串转换为大写。 df['column'].str.upper() ③len ():计算字符串的长度。 df[' column'].str.len() ④strip():删除字符串前后的空白符(包括空格、换行符等)。 df['column'].str.strip() ⑤lstrip():删除字符串左边的空白符。 df[' column'].str.lstrip() ⑥rstrip():删除字符串右边的空白符。 df['column '].str.rstrip() ⑦contains():检查每个字符串是否包含特定模式/子字符串。 df['column'].str.contains ('pattern') ⑧startswith():检查字符串是否以特定子字符串开始。 df['column'].str.startswith('prefix') ⑨endswith():检查字符串是否以特定子字符串结束。 df[' column'].str.endswith(' suffix') ⑩match():根据给定的正则表达式匹配字符串。 df[' column'].str.match(rI^pattern$') ⑪replace():替换字符串中的某些部分。 df[' column'].str.replace('old', 'new') ⑫split():根据分隔符拆分字符串为多个部分。 df[' column'].str.split(',') ⑬join():将序列中的元素连接成字符串。 df[' column'].str.join('-1) ⑭cat():连接字符串(默认按行连接)。 df[' column'].str.cat(sep=',1) 11.正则表达式 ①extract():使用正则表达式从字符串中提取一部分。 df[' column'1.str.extract(r' (pattern)') ②findal1():使用正则表达式查找字符串中的所有匹配项。 df['column '].str.findall(r'pattern') ③replace():使用正则表达式替换字符串中的部分内容。 df['column '].str.replace(r'pattern', Ireplacement',regex=True) 12.辅助判断与提取 ①isnumeric():检查每个字符串是否只包含数字。 df['column '].str.isnumeric() ②isdecimal():检查每个字符串是否只包含十进制数字。 df['column'].str.isdecimal( ③isalpha():检查每个字符串是否只包含字母。 df['column'].str. isalpha() ④isdigit():检查每个字符串是否只包含数字。 df[' column'].str.isdigit() ⑤islower():检查每个字符串是否只包含小写字母。 df[' column'].str.islower() ⑥isupper():检查每个字符串是否只包含大写字母。 1 df['column '].str.isupper () ⑦istitle():检查字符串是否是标题化的(每个单词的首字母大写)。 df['column'].str.istitle() 13.数据可视化 plot():默认绘制线图。 df.plot() ①plot.bar(),plot.barh():绘制条形图。 df.plot.bar( #垂直条形图2df.plot.barh()#水平条形图 ②plot.hist():绘制直方图。 df.plot.hist() ③plot.box():绘制箱形图。 df.plot.box() ④plot.area():绘制面积图。 df.plot.area() ⑤plot.pie():绘制饼图。 df.plot.pie(subplots=True) ⑥plot.scatter():绘制散点图。 df.plot.scatter(x='columnl', y=' column2') 14.处理重复数据 ①duplicated():检查重复行。 df.duplicated () ②drop_duplicates():删除重复行。 df.drop_duplicates () 15.数据连接 ①concat():沿着一个轴将多个对象堆叠到一起。 pd. concat([df1, df2]) ②merge():根据一个或多个键将不同DataFrame的行连接起来。 pd.merge (df1, df2, on='key') ③join():对索引进行连接。可以是内连接、外连接、左连接或右连接。 df1.join(df2, how='left') ④append():将一行或多行附加到DataFrame 上,相当于concat()的特例。 df1.append (df2) 16.数据分组和分箱 ①cut():将连续的数值分割成离散的区间。 pd.cut(df[' column'], bins=3) ②qcut():基于样本分位数来划分数据。 pd.qcut(df[' column'1, q=4) ③set_index():将DataFrame中的一列或多列设置为索引。 df.set_index('column') 17.索引操作 ①set_index():将DataFrame 的一列或多列设置为索引。 df.set_index('column') ②reset_index():重置DataFrame 的索引,使之回到默认整数索引。 df.reset_index() ③swaplevel():交换索引的级别。 df. swaplevel() ④stack():将列旋转为行。 df.stack() ⑤unstack():将行旋转为列。 df.unstack() 18.性能提升 ①eval0):使用字符串表达式快速计算DataFrame的操作,有助于提高性能。 pd.eval('df1 + df2') ②query():使用字符串表达式对DataFrame进行查询。 df.query('column >10')
标签:pd,入门,df,DataFrame,column,str,字符串,Pandas From: https://www.cnblogs.com/chen119/p/18316264