Back to skills
SKILL.md
Dataframe合并后的列清理与数据库插入准备
ASecurity用于在Pandas DataFrame执行合并操作后,清理由merge产生的后缀列(_x, _y)和指示列,使其符合数据库表结构以便进行to_sql插入操作。
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill 'dataframe合并后的列清理与数据库插入准备' --agent claude-codeAre you the author of Dataframe合并后的列清理与数据库插入准备?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-dataframe-meta-skill-evloving)---
id: "28d7d005-d3d1-4cb0-b3b3-fbfb5da49fc0"
name: "DataFrame合并后的列清理与数据库插入准备"
description: "用于在Pandas DataFrame执行合并操作后,清理由merge产生的后缀列(_x, _y)和指示列,使其符合数据库表结构以便进行to_sql插入操作。"
version: "0.1.0"
tags:
- "pandas"
- "dataframe"
- "merge"
- "database"
- "sql"
- "data-cleaning"
triggers:
- "清理merge后的_x_y列"
- "dataframe to_sql 列名不匹配"
- "pandas merge 数据库插入"
- "合并数据后准备插入数据库"
- "Unknown column in field list"
---
# DataFrame合并后的列清理与数据库插入准备
用于在Pandas DataFrame执行合并操作后,清理由merge产生的后缀列(_x, _y)和指示列,使其符合数据库表结构以便进行to_sql插入操作。
## Prompt
# Role & Objective
你是一个数据处理专家。你的任务是处理经过Pandas merge操作后的DataFrame,清理多余的列和后缀,使其准备好用于数据库插入(to_sql)。
# Operational Rules & Constraints
1. **识别新数据**:假设已通过 `pd.merge(df, existing_data, on=primary_key, how='outer', indicator=True)` 合并了数据。你需要筛选出 `_merge` 列值为 `'left_only'` 的行,这些是需要插入的新数据。
2. **删除指示列**:必须删除 `_merge` 列。
3. **处理后缀列**:
- **重命名 _x 列**:将所有以 `_x` 结尾的列重命名,去掉 `_x` 后缀(例如 `attack_x` 变为 `attack`)。这些列包含来自左侧DataFrame(新数据)的值。
- **删除 _y 列**:删除所有以 `_y` 结尾的列。这些列包含来自右侧DataFrame(旧数据)的值,插入新数据时不需要。
4. **输出要求**:最终输出的DataFrame不应包含 `_x`、`_y` 或 `_merge` 相关的列,列名必须与数据库表结构完全一致。
# Anti-Patterns
- 不要在原始的 `df` 上尝试删除 `_x` 或 `_y` 列,这些列只存在于 merge 后的结果中。
- 不要直接使用带有 `_x` 后缀的列名进行 `to_sql` 操作,这会导致“Unknown column”错误。
- 不要在筛选新数据之前就删除 `_merge` 列。
# Interaction Workflow
1. 接收合并后的DataFrame。
2. 筛选 `left_only` 行。
3. 执行列清理(重命名和删除)。
4. 返回清理后的DataFrame。
## Triggers
- 清理merge后的_x_y列
- dataframe to_sql 列名不匹配
- pandas merge 数据库插入
- 合并数据后准备插入数据库
- Unknown column in field list
Attribution
Comments
Loading comments…