【发布时间】:2021-09-14 20:33:16
【问题描述】:
我正在尝试从二维数据框中提取信息,其中我有 A 到 H 行和 1-12 列。每个单元格都有不同的编号。我的第二个数据框只有一列包含组合信息,例如 A1、A2 等。我想设置一个 for 循环,以便我可以执行 df1.iloc 并选择坐标。但我不想输入 96 行,所以我认为 for 循环会有所帮助,但我不知道该怎么做。 我还很新,所以我不太了解这些技巧。
df1 将是:
| 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|
| A | 237 | 543 | 300 | 256 | 343 | 122 |
| B | 435 | 313 | 150 | 635 | 847 | 321 |
df2 将是:
well=['A1','A2','A3','B1','B2','B3']
我想做一个 df3,看起来像:
| Well | Value |
|---|---|
| A1 | 237 |
| A2 | 543 |
| A3 | 300 |
| B1 | 435 |
| B2 | 313 |
| B3 | 150 |
到目前为止,我拥有的是:
df3=pd.DataFrame()
for i in df2:
if i.contains('A'):
row=df1.iloc[1]
if i.contains('1'):
value=row.iloc[1]
df3.append(i,value)
我知道 col # 对于 iloc 将始终相同。 那么我可以将 A-H 分配为 1-8,然后以某种方式选择 df2 中字母后面的数字作为 iloc 值吗?
【问题讨论】: