对于下面的表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 |
如果我正确理解了你的问题,下面的代码可能会有所帮助。表引用原始合并表。创建一个数据帧字典
tables = dict(tuple(table.groupby('name')))
,然后根据键
选择tables["Change_Reason1"]
print(tables["Change_Reason2"])
您可以尝试下面的代码(for循环)导出csv文件,我希望这应该工作。注意:table是你的原始数据框架
tables = dict(tuple(table.groupby('name')))
for key in tables.keys():
table.loc[table["change_reason"] == key].to_csv("{}.csv".format(key), header=True)