我有一个数据框,df我想根据列计算百分比total。
假设我有:
df = pd.DataFrame({
'ID': range(1, 4),
'col1': [10, 5, 10],
'col2': [15, 10, 15],
'col3': [10, 15, 15],
'total': [35, 30, 40]
})
print(df)
ID col1 col2 col3 total
0 1 10 15 10 35
1 2 5 10 15 30
2 3 10 15 15 40
Run Code Online (Sandbox Code Playgroud)
我想得到:
ID col1 col2 col3 total
0 1 28.57 % 42.85 % 28.57 % 100 %
1 2 16.66 % 33.33 % 50 % 100 %
2 …Run Code Online (Sandbox Code Playgroud) 我想用 Pandas 数据框覆盖 Excel 文件中的现有工作表,但不希望在同一文件的其他工作表中进行任何更改。这是如何实现的。我尝试了下面的代码,但不是覆盖,而是将数据附加到“Sheet2”中。
import pandas as pd
from openpyxl import load_workbook
book = load_workbook('sample.xlsx')
writer = pd.ExcelWriter('sample.xlsx', engine = 'openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, 'sheet2', index = False)
writer.save()
Run Code Online (Sandbox Code Playgroud)