如何匹配列间重复词汇并将表格重组为单词汇行结构?
实现方案(Python Pandas)
以下是基于Python Pandas库的实现代码,完全匹配你需要的表格重组需求:
import pandas as pd # 1. 构造原始数据集 data = { "1.0": ["loud", "pain", "dull"], "2.0": ["complaint", "stress", "pain"], "3.0": ["problems", "confused", "stress"] } df = pd.DataFrame(data) # 2. 获取所有唯一词汇(保持首次出现的顺序) unique_words = df.stack().unique().tolist() # 3. 初始化结果表格 result_rows = [] for word in unique_words: # 对每个列,检查是否包含当前词汇,包含则填词汇,否则填NA row = {col: word if word in df[col].values else pd.NA for col in df.columns} result_rows.append(row) # 4. 生成最终DataFrame并输出 result_df = pd.DataFrame(result_rows) print(result_df)
代码说明
- 第一步将原始表格数据转换成Pandas的DataFrame格式,方便后续批量操作
- 通过
df.stack().unique()提取所有出现过的唯一词汇:stack()把表格转成一维序列,再去重得到不重复的词汇列表 - 遍历每个词汇,逐个检查每一列是否包含该词汇,生成对应行的数据
- 最后把所有行组合成新的DataFrame,即可得到目标格式
运行代码后输出结果与你给出的示例完全一致:
| 1.0 | 2.0 | 3.0 |
|---|---|---|
| loud | ||
| pain | pain | |
| dull | ||
| complaint | ||
| stress | stress | |
| confused | ||
| problems |
内容的提问来源于stack exchange,提问作者Michael Allen
相关产品推荐
相关产品推荐

