Pandas第一行和最后一行基于条件

2024-04-26 22:55:43 发布

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

我正在分析一个Excel文件。我把文件放在一个dataframe中,我希望标题行基于一个值(在本例中,header从cell==Hour'开始)

另外,我希望dataframe在cell=='All Fixed Periods'之前的行结束。我不能使用where cell=='12:00 PM',因为每个Excel文件都有不同的结束时间值。在

我的数据帧是这样的:

df1 = pd.DataFrame(
[['Business Dates','3/15/2017'],
['Locations','ABC Location'],
['Breakfast',5073.35],
['Lunch',1489.45],
['PM',129.93],
['Hour','Net Sales'],
['6:00 AM',11.56],
['7:00 AM',142.36],
['8:00 AM',153.54],
['9:00 AM',200.34],
['10:00 AM',240.33],
['11:00 AM',110.12],
['12:00 PM',114.11],
['All Fixed Periods',]],
columns=['Service Performance Summary','Sales'])

df1

Service Performance Summary Sales
0   Business Dates  3/15/2017
1   Locations   ABC Location
2   Breakfast   5073.35
3   Lunch       1489.45
4   PM Break    129.93
5   Hour    Net Sales
6   6:00 AM     11.56
7   6:00 AM     150.34
8   7:00 AM     142.36
9   8:00 AM     153.54
10  9:00 AM     200.34
11  10:00 AM    240.33
12  11:00 AM    110.12
13  12:00 PM    114.11
14  All Fixed Periods   None

进入:

^{pr2}$

最接近我的是:

df.columns = df.iloc[5]
df = df[6:]

唯一的问题是“小时”可能从不同报告的不同索引开始。在


Tags: 文件dataframedfcellbusinessallamexcel