📅  最后修改于: 2023-12-03 14:59:05.428000             🧑  作者: Mango
Pandas是一个开源的Python库,用于数据分析和处理。它提供了易于使用的数据结构和数据分析工具。
Pandas中的主要数据结构是Series和DataFrame。
Series是一种一维数组,可以存储整数、浮点数、字符串等类型的数据。
DataFrame是一种二维数组,可以存储多种类型的数据,每个列可以有不同的数据类型。它类似于Excel或SQL表格。
使用Pandas的read_csv函数可以读取CSV文件。
import pandas as pd
df = pd.read_csv('filename.csv')
使用Pandas的head函数可以查看DataFrame的前n行,默认为5行。
df.head()
使用Pandas的dtypes属性可以查看DataFrame的数据类型。
df.dtypes
使用Pandas的columns属性可以查看DataFrame的列名。
df.columns
使用Pandas的shape属性可以查看DataFrame的行数和列数。
df.shape
使用DataFrame的列名可以选取一列。
df['column_name']
使用DataFrame的列名列表可以选取多列。
df[['column_name1', 'column_name2']]
使用DataFrame的loc方法可以选取一行,指定行标签。
df.loc[row_label]
使用DataFrame的loc方法可以选取多行,指定行标签列表。
df.loc[row_label_list]
使用DataFrame的loc方法可以根据条件选取行。
df.loc[condition]
使用DataFrame的sort_values方法可以排序行,指定排序列。
df.sort_values(by='column_name')
使用DataFrame的mean方法可以求平均值。
df.mean()
使用DataFrame的median方法可以求中位数。
df.median()
使用DataFrame的std方法可以求标准差。
df.std()
使用DataFrame的describe方法可以对一列进行统计描述。
df[['column_name']].describe()
使用DataFrame的sum方法可以对行求和,指定轴。
df.sum(axis=1)
使用DataFrame的drop_duplicates方法可以将行进行去重操作。
df.drop_duplicates()
使用DataFrame的drop_duplicates方法可以将列进行去重操作,指定轴。
df.drop_duplicates(subset=['column_name'], keep='first', axis=1)
使用DataFrame的fillna方法可以将缺失值进行填充,指定填充值。
df.fillna(value)
使用DataFrame的dropna方法可以将缺失值进行删除。
df.dropna()
使用Series的str属性和split方法可以将字符串列进行拆分。
df['column_name'].str.split(delimiter)
使用Series的str属性和cat方法可以将多个字符串列进行拼接。
df[['column_name1', 'column_name2']].astype(str).apply(' '.join, axis=1)
使用Pandas的to_datetime函数可以将时间列进行时间格式转换。
df['datetime_column'] = pd.to_datetime(df['datetime_column'], format=format)
使用Pandas的Grouper函数可以将时间列进行时间分组。
df.groupby(pd.Grouper(key='datetime_column', freq='time_unit')).sum()
使用DataFrame的rename方法可以将列进行重命名,指定列名字典。
df.rename(columns={'old_column_name': 'new_column_name'})
使用Pandas的eval函数可以将列进行计算,支持四则运算和比较运算。
df.eval('new_column_name = old_column_name + 1')
使用DataFrame的agg方法可以将列进行聚合操作,指定聚合函数。
df.agg({'column_name': 'function_name'})
使用Pandas的pivot_table函数可以将列进行透视表操作,指定行、列和数值列。
pd.pivot_table(df, index='index_column', columns='column_name', values='number_column', aggfunc='function_name')
使用Pandas的cut函数可以将列进行离散化操作,指定切分点。
pd.cut(df['column_name'], bins=[bin1, bin2, bin3], labels=['label1', 'label2', 'label3'])
使用DataFrame的groupby方法可以将列进行分组统计操作。
df.groupby('column_name').sum()
使用Pandas的melt函数和pivot_table函数可以将列进行数据透视操作。
pd.melt(df, id_vars=['column_name1'], value_vars=['column_name2', 'column_name3'])
pd.pivot_table(df_melted, index=['column_name1', 'variable_column'], columns=['column_name2'], values='value_column', aggfunc='function_name')
使用Pandas的interpolate函数可以将列进行时间插值操作,指定插值方法。
df['column_name'].interpolate(method='method_name')
使用Pandas的MinMaxScaler函数可以将列进行缩放操作,指定缩放范围。
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(0, 1))
df['scaled_column'] = scaler.fit_transform(df[['column_name']])
使用Pandas的StandardScaler函数可以将列进行正态化操作。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df['scaled_column'] = scaler.fit_transform(df[['column_name']])
使用Pandas的PCA函数可以将列进行PCA降维操作,指定降维维度。
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
df[['column_name1', 'column_name2']] = pca.fit_transform(df[['column_name1', 'column_name2']])
使用Pandas的LDA函数可以将列进行LDA降维操作,指定降维维度。
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda = LinearDiscriminantAnalysis(n_components=2)
df[['column_name1', 'column_name2']] = lda.fit_transform(df[['column_name1', 'column_name2']], df['target_column'])
使用Pandas的LinearRegression函数可以将列进行线性回归训练和预测操作。
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(df[['column_name1']], df['column_name2'])
df['predicted_column'] = regressor.predict(df[['column_name1']])
使用Pandas的RandomForestRegressor函数可以将列进行随机森林训练和预测操作。
from sklearn.ensemble import RandomForestRegressor
regressor = RandomForestRegressor(n_estimators=10, random_state=0)
regressor.fit(df[['column_name1']], df['column_name2'])
df['predicted_column'] = regressor.predict(df[['column_name1']])