主页 > 游戏开发  > 

【数据挖掘】Pandas之DataFrame

【数据挖掘】Pandas之DataFrame

在 Pandas 中,DataFrame 提供了丰富的数据操作功能,包括 查询、编辑、分类和汇总。


1. 数据查询(Filtering & Querying) 1.1 按索引或列名查询 import pandas as pd data = { "ID": [101, 102, 103, 104, 105], "Name": ["Alice", "Bob", "Charlie", "David", "Eva"], "Age": [25, 30, 35, 40, 28], "Salary": [5000, 7000, 6000, 8000, 7200], "Department": ["HR", "IT", "Finance", "IT", "HR"] } df = pd.DataFrame(data) # 查询某一列 print(df["Age"]) # 返回 Series print(df[["Name", "Salary"]]) # 返回 DataFrame # 查询某一行(基于索引) print(df.loc[2]) # 按标签索引 print(df.iloc[2]) # 按行号索引 1.2 按条件查询 # 查询 Age > 30 的员工 df[df["Age"] > 30] # 查询 IT 部门的员工 df[df["Department"] == "IT"] # 查询 Age 大于 30 且 Salary 大于 7000 的员工 df[(df["Age"] > 30) & (df["Salary"] > 7000)] 1.3 使用 query() 方法 df.query("Age > 30 & Salary > 7000")
2. 数据编辑(Updating & Modifying) 2.1 修改某列数据 # 调整所有工资增加 10% df["Salary"] = df["Salary"] * 1.1 2.2 修改某个单元格 df.at[2, "Salary"] = 6500 # 使用 `at`(基于标签) df.iat[2, 3] = 6500 # 使用 `iat`(基于整数索引) 2.3 添加新列 df["Bonus"] = df["Salary"] * 0.1 2.4 删除行/列 df.drop(columns=["Bonus"], inplace=True) # 删除列 df.drop(index=2, inplace=True) # 删除某行 2.5 重命名列 df.rename(columns={"Salary": "Income"}, inplace=True)
3. 数据分类(Categorization) 3.1 按类别转换数据 # 将 'Department' 转换为分类数据类型 df["Department"] = df["Department"].astype("category") 3.2 使用 cut() 进行数值分箱 df["Age Group"] = pd.cut(df["Age"], bins=[20, 30, 40, 50], labels=["Young", "Middle-aged", "Senior"]) 3.3 使用 map() 转换数据 df["Department_Code"] = df["Department"].map({"HR": 1, "IT": 2, "Finance": 3})
4. 数据汇总(Aggregation & Grouping) 4.1 统计汇总 df.describe() # 统计数值列的基本信息 df["Salary"].sum() # 计算总工资 df["Salary"].mean() # 计算平均工资 df["Salary"].median() # 计算工资中位数 df["Salary"].std() # 计算工资标准差 4.2 按类别分组聚合 df.groupby("Department")["Salary"].mean() # 按部门计算平均工资 df.groupby("Department")["Salary"].agg(["mean", "max", "min"]) # 计算多个统计指标 4.3 透视表(Pivot Table) df.pivot_table(values="Salary", index="Department", aggfunc="mean")
总结 操作方法查询df[df["Age"] > 30],df.query()编辑df["Salary"] = df["Salary"] * 1.1,df.at[],df.drop()分类df["Age Group"] = pd.cut(),df["Department"].astype("category")汇总df.groupby("Department").agg(),df.pivot_table()

这些 Pandas 操作可以高效地管理和分析 DataFrame 数据,提高数据处理效率! 🚀

标签:

【数据挖掘】Pandas之DataFrame由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【数据挖掘】Pandas之DataFrame