如何根据表中的列拆分表?

2024-06-10 02:29:54 发布

您现在位置:Python中文网/ 问答频道 /正文

给定下面的表1,我们无法准确确定change_reason的类型,但我们需要根据不同的change_reason将给定的表拆分为不同的子表,例如表2-4。有没有办法不逐个过滤每个更改原因,因为它们每次都不同,并且会弹出很多新的原因

表1:

| Borrower | Impact |change_reason |
| -------- | -------|--------------|
| AAA      |  2.5   | ICR upgrade  |
|  BBB     |   4.0  | ICR downgrade|
|  CCC     |   5.0  | ICR upgrade  |
|  DDD     |   2.2  | New borrower |
|  EEE     |   1.0  | ICR downgrade|
...         

表2:

|Borrower | Impact | change_reason |
|---------|--------|---------------|
|  AAA    |  2.5   |  ICR upgrade  |
|  CCC    |  5.0   |  ICR upgrade  |

表3:

|Borrower | Impact | change_reason |
|---------|--------|---------------|
| BBB     |  4.0   | ICR downgrade |
| EEE     |  1.0   | ICR downgrade |

表4:

|Borrower | Impact | change_reason |
|---------|--------|---------------|
| DDD     |  2.2   |  New borrower |

Tags: new原因changeupgradereasonbbbcccddd
2条回答

如果我正确理解您的问题,以下代码可能会有所帮助。参考原始组合表的表。创建数据帧字典

tables = dict(tuple(table.groupby('name')))

然后按键选择

tables["Change_Reason1"]
print(tables["Change_Reason2"])

您可以尝试使用以下代码(for循环)以csv格式导出文件,我希望这会起作用。注意:表是您的原始数据帧

tables = dict(tuple(table.groupby('name')))

for key in tables.keys():
    table.loc[table["change_reason"] == key].to_csv("{}.csv".format(key), header=True)

相关问题 更多 >