Python 数据帧行迭代和插入空行

Python 数据帧行迭代和插入空行,python,pandas,data-science,xlsxwriter,Python,Pandas,Data Science,Xlsxwriter,我是python新手。我有一个数据框,我正在将其写入excel。我想要插入一个带有子字符串“Total”的空行,其中列“Placement ID”值发生更改,并获取其他列的字段值之和 数据当前看起来是这样的 希望以这种方式将其转换 数据在这里 提前谢谢。这个看起来怎么样 # import pandas import pandas as pd # import data df = pd.read_excel(r"C:\Users\IT045886\Downloads\Data.xlsx",

我是python新手。我有一个数据框,我正在将其写入excel。我想要插入一个带有子字符串“Total”的空行,其中列“Placement ID”值发生更改,并获取其他列的字段值之和

数据当前看起来是这样的

希望以这种方式将其转换

数据在这里

提前谢谢。

这个看起来怎么样

# import pandas
import pandas as pd

# import data
df = pd.read_excel(r"C:\Users\IT045886\Downloads\Data.xlsx", skiprows = 12)

# convert str(floats) to actual floats
for col in df.loc[:, 'KM_Impressions':].columns:
    df[col] = pd.to_numeric(df[col].copy(), errors = 'coerce')

# limit column selection
df1 = df.loc[:, :'Deep Engagements'].copy()

# drop NaN and pivot
subs = df1.dropna().pivot_table(index = [
    'Placement ID',
    'Placement#',
    'Metric',
    'Day'
], aggfunc = 'sum')

# sum on first three levels
subs_t = subs.sum(level = [0,1,2])

# insert 'Total' in 'Day' column
subs_t.insert(0, 'Day', 'Total')

# set 'Day' in index
subs_t.set_index('Day', append = True, inplace = True)

# concat sums and totals
df2 = pd.concat([subs, subs_t]).sort_index().reset_index()

# merge original columns back in, reorder columns
final = df2.merge(df, how = 'outer')[df.columns]

final

pd.to_numeric()
-->


你想和楠做什么?放下它们?用0填充它们?此外,您的某些列中包含字符串,而不是整数/浮点(例如,nan%vs nan)。@IanThompson,是的,我想删除它们。我会努力把它们转换成它。请你帮我插入空行并加上每一行的号码好吗iteration@IanThompson这看起来不像是我的工作方式。它不是在excel中写入索引值。我也不想把S列和AA列相加。只想得到E列到R列的总和。子字符串“Total”可以是今天放置Id上的任意位置。此外,我希望所有列都用excel编写。请查看我的最新版本。您尝试过什么?请不要链接到外部来源。Stackover的人不会点击链接。这很酷,非常感谢,请让我知道“强制”在这里做什么。请看我的编辑,伊恩,感谢你的帮助。太好了!请考虑选择正确答案。
errors = 'coerce' # invalid parsing will be set as NaN