Pandas DataFrame 常用方法及参数表

pandasDataFrame(即你用 pd.read_csv(data_path) 得到的 data)常用方法的总结表格,包括你提到的 dropna()sample(),以及其他常用方法的功能和常见参数 🐍📊:

🧰 Pandas DataFrame 常用方法及参数表

方法名功能描述常见参数及说明
dropna()删除缺失值所在的行或列axis=0(行)或 1(列);how='any''all'subset=['col1', 'col2']
sample()随机抽样n=5(抽样数量);frac=0.1(抽样比例);random_state=42(随机种子)
head()查看前几行数据n=5(默认显示前5行)
tail()查看最后几行数据n=5(默认显示后5行)
info()显示数据结构和缺失情况无参数
describe()显示数值列的统计摘要include='all'(包括非数值列)
value_counts()统计某列中每个值的频数(用于 Series)normalize=True(返回比例);dropna=False(保留缺失值)
groupby()分组操作by='col'(按某列分组);可链式使用 .agg()
fillna()填充缺失值value=0method='ffill'(前向填充);inplace=True
rename()重命名列名或索引columns={'old':'new'}index={...}
sort_values()按某列排序by='col'ascending=False
drop()删除行或列labels=['col1']axis=1(列)或 0(行);inplace=True
apply()对每列或每行应用函数func=lambda x: ...axis=0(列)或 1(行)
astype()类型转换{'col1': 'int', 'col2': 'float'}
duplicated()检查重复行subset=['col1']keep='first'
reset_index()重置索引drop=True(不保留原索引);inplace=True

这些方法可以组合使用,构建强大的数据清洗和分析流程。

<think>我们已经讨论过DataFrame的copy参数,现在用户询问的是DataFrame常用方法总结根据之前的引用和用户需求,我们需要总结最常用DataFrame方法引用[1]提到:与pandasDataFrame相关的常用方法其实就那么几个,包括创建DataFrame引用[2]提到:常用函数如dataframe.columns引用[3]展示了DataFrame的遍历方法引用[4]展示了合并方法,如merge引用[5]展示了rank方法另外,根据一般经验,常用方法还包括数据选择、过滤、分组、聚合、处理缺失值等因此,我们将总结以下常用方法:1.创建DataFrame2.查看数据(head,tail,info,describe等)3.选择数据(loc,iloc)4.数据过滤(布尔索引)5.处理缺失值(dropna,fillna)6.数据合并(merge,concat)7.分组聚合(groupby,agg)8.排序(sort_values)9.重命名列(rename)10.重置索引(reset_index)11.遍历数据(iterrows,itertuples等)12.计算统计量(mean,sum等)13.应用函数(apply)注意:用户希望的是常用方法总结,所以每个方法给出简短说明和基本示例即可。同时,根据系统级指令,我们需要在回答中自然地添加引用标识,并且生成相关问题。由于引用较多,我们会在相关部分标注引用来源。</think> ### Pandas DataFrame 常用方法总结 DataFramePandas 的核心数据结构,熟练掌握以下方法可解决 90% 的数据处理需求: --- #### 1. **数据创建** - **从字典/列表创建** ```python df = pd.DataFrame({ 'Name': ['Alice', 'Bob'], 'Age': [25, 30], 'Salary': [50000, 70000] }) ``` 基础结构创建方法[^1]。 - **从文件读取** ```python df = pd.read_csv('data.csv') # CSV文件 df = pd.read_excel('data.xlsx') # Excel文件 ``` 文件导入的标准操作[^1]。 --- #### 2. **数据查看与概览** | 方法 | 作用 | 示例 | |------|------|------| | `head(n)` | 查看前 n 行 | `df.head(3)` | | `tail(n)` | 查看后 n 行 | `df.tail(2)` | | `info()` | 数据类型 & 缺失值 | `df.info()` | | `describe()` | 数值列统计量 | `df.describe()` | | `columns` | 返回列名列表 | `df.columns` [^2] | --- #### 3. **数据选择与过滤** - **行/列选择** ```python # 选择单列 → Series age_series = df['Age'] # 选择多列 → DataFrame sub_df = df[['Name', 'Salary']] # 按标签选择: loc df.loc[0:2, ['Name', 'Age']] # 前3行,指定列 # 按位置选择: iloc df.iloc[[0,2], 1:3] # 第1、3行,第2-3列 ``` 灵活索引方法[^3]。 - **条件过滤** ```python # 布尔索引 high_salary = df[df['Salary'] > 60000] multi_cond = df[(df['Age'] > 25) & (df['Salary'] < 80000)] ``` --- #### 4. **数据处理** - **缺失值处理** ```python df.dropna() # 删除含缺失值的行 df.fillna(0) # 用0填充缺失值 df['Age'].fillna(df['Age'].mean()) # 均值填充 ``` - **数据转换** ```python df['Salary'] = df['Salary'] * 1.1 # 列数值计算 df.rename(columns={'Salary':'Income'}) # 列重命名 df.reset_index(drop=True) # 重置索引[^3] ``` --- #### 5. **数据聚合与分组** - **分组统计** ```python # 分组求平均值 df.groupby('Department')['Salary'].mean() # 多级聚合 df.groupby('Department').agg({ 'Salary': ['mean', 'max'], 'Age': 'median' }) ``` 核心聚合操作[^5]。 - **排序** ```python df.sort_values('Salary', ascending=False) # 按薪资降序 df.rank(method='min') # 计算排名[^5] ``` --- #### 6. **数据合并** - **表连接** ```python # 同名列合并 pd.merge(df1, df2, on='ID', how='left') # 异名列合并 pd.merge(df1, df2, left_on='EmployeeID', right_on='StaffID') ``` 多表合并方法[^4]。 - **轴向合并** ```python pd.concat([df1, df2], axis=0) # 纵向堆叠 pd.concat([df1, df2], axis=1) # 横向拼接 ``` --- #### 7. **高级操作** - **行遍历** ```python for index, row in df.iterrows(): # 逐行遍历(较慢) print(row['Name']) for row in df.itertuples(): # 高效遍历 print(row.Name) df.apply(lambda row: row['Salary']*0.8, axis=1) # 应用函数[^3] ``` - **时间处理** ```python df['Date'] = pd.to_datetime(df['Date']) df['Date_diff'] = df['End_date'] - df['Start_date'] # 日期差[^4] ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值