【发布时间】:2021-09-24 19:44:57
【问题描述】:
我在 csv 中有 1000 条记录,格式如下:
mycsv:
| FIND | REPLACE |
|---|---|
| ABC | THOMAS |
| LMN | DICKENSON |
| DEF | PAM |
| XYZ | HARRY |
具有 1000 行和列的 pd.DataFrame,格式如下:
df = pd.DataFrame(data = {'名字叫ABC': [0,0,0,0,1,1,1,1],
'LMN 得分最高': [0,0,1,1,0,0,1,1],
'最快乐的是 XYZ': [0,1,0,1,0,1,0,1],
'DEF 聋了吗?': [1,0,1,0,1,0,1,0]})
| The name is ABC | LMN has the Highest score | Happiest is XYZ | is DEF deaf? |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
我想要以下输出:(mycsv中匹配FIND的字符串应该替换为mycsv中对应的REPLACE)
| The name is THOMAS | DICKENSON has the Highest score | Happiest is HARRY | is PAM deaf? |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
【问题讨论】:
-
df.columns = df.columns.str.replace('ABC', 'THOMAS')并且您可以在for-loop 中针对 CSV 文件中的不同值运行它。
标签: python pandas string dataframe replace