【发布时间】:2022-01-24 05:55:37
【问题描述】:
我有一个像这样的数据框,其中包含 ROW_ID 和 Matches 列。根据 Matches 列中每一行的值,我应该在 Result 列中写入。例如,在第一行,我们有 ; ALL MATCH -3,所以在新列Result中,这个; ALL MATCH 应该出现在 ROW_ID 3. 在第 8 个 ROW_ID 中,我们有 ;全场比赛-9;差异在# -10。所以在我们的 Result 列 ; ALL MATCH 应出现在 ROW_ID 9 和 中; Diff in# 应该存在于 ROW_ID 10
| ROW_ID | Matches |
|---|---|
| 1 | ; ALL MATCH -3 |
| 2 | |
| 3 | |
| 4 | |
| 5 | ; ALL MATCH -6 |
| 6 | |
| 7 | |
| 8 | ; ALL MATCH -9; Diff in# -10 |
| 9 | |
| 10 |
也就是说最终的dataframe应该是这样的。
| ROW_ID | Result |
|---|---|
| 1 | |
| 2 | |
| 3 | ; ALL MATCH |
| 4 | |
| 5 | |
| 6 | ; ALL MATCH |
| 7 | |
| 8 | |
| 9 | ; ALL MATCH |
| 10 | ; Diff in# |
我尝试了很多,我使用 dataframe.iterrows() 分别提取了每一行的 int 值和其他部分。但我无法将该值打印到特定位置。 df.at[] 方法不起作用。 loc 和 iloc 我也试过了,但没有得到如何将该字符串打印到该列的特定行。
【问题讨论】:
-
这是您最复杂的案例吗?除了空的或以“; ALL MATCH”开头的元素之外,你可以有其他元素吗?其他栏目?等等
标签: python python-3.x pandas string dataframe