我创建了一个循环,使用字典输入生成数据帧.我想将结束数据帧插入一个新的字典,将其命名为组号(12345),然后开始循环,将新数据帧添加到同一个字典中,只有它具有新的组名称(54321).以下是我到目前为止的情况.
frames = {}
groups = ['12345', '54321']
for x in groups:
# Runs a bunch of calculations with the ending output being a pandas df
frames = df.to_dict()
Run Code Online (Sandbox Code Playgroud)
显然我知道这是错的,我只是想知道我应该从哪里离开这里.
我想在每一行中找到最高值,并返回python中值的列标题.例如,我想在每行中找到前两个:
df =
A B C D
5 9 8 2
4 1 2 3
Run Code Online (Sandbox Code Playgroud)
我希望我的输出看起来像这样:
df =
B C
A D
Run Code Online (Sandbox Code Playgroud) 我的代码中有三个不同的循环,但我想知道是否有办法将它们中的两个组合在一起只循环一次.我的代码如下:
for x in groups:
A bunch of code that produces the following...
frames[x]
highcs[x]
Run Code Online (Sandbox Code Playgroud)
然后我循环通过下面的两个循环.这些是我想要结合的.
for x, frame in frames.items():
more unrelated code
for x, highc in highcs.items():
Run Code Online (Sandbox Code Playgroud)
最后两个循环实际上只是使用xlsxwriter创建excel工作簿.第一个循环创建工作簿并将帧[x]中的数据帧输入到工作表中.然后highc返回相同的工作表并添加新的数据帧.
我知道此错误消息已在此处讨论过,但我仍然无法弄清楚如何使这项工作.我正在尝试使用多个条件执行np.where语句.以下是我的代码.我收到错误消息"关键字不能是一个表达式",它突出显示"aggregate ['Counter']> 1之后的空格.
aggregate['1'] = np.where(np.logical_and(aggregate['Counter'] > 1, aggregate['2'].shift(1) = aggregate['3']), 0, aggregate['2'])
Run Code Online (Sandbox Code Playgroud) 我希望代码在循环中运行12345,将其输入工作表中,然后从54321开始并执行相同的操作,只是将数据框输入到新的工作表中,但在同一工作簿中。下面是我的代码。
workbook = xlsxwriter.Workbook('Renewals.xlsx')
groups = ['12345', '54321']
for x in groups:
(Do a bunch of data manipulation and get pandas df called renewals)
writer = pd.ExcelWriter('Renewals.xlsx', engine='xlsxwriter')
worksheet = workbook.add_worksheet(str(x))
renewals.to_excel(writer, sheet_name=str(x))
Run Code Online (Sandbox Code Playgroud)
运行此命令后,剩下的工作簿只有1个工作表(54321)。
我在pandas中有一个数据框,其中索引是工作日.我想仅使用每个月的最后一天创建一个新的数据框,以及各列中的相应数据.我尝试了几种不同的方法但收效甚微,我不断得到的错误信息是:AttributeError:'DataFrame'对象没有属性'date'.
我的数据框中的索引标记为"日期".除了验证,我不知道去哪里.此外,此列中的日期还包括小时,分钟和秒......不确定是否重要.
下面是数据框的示例:
Date A B C
11/27/2015 00:00:00 5 2 4
11/30/2015 00:00:00 2 9 1
12/1/2015 00:00:00 6 1 8
12/2/2015 00:00:00 4 7 0
Run Code Online (Sandbox Code Playgroud)
我希望结果显示出来
11/30/2015 00:00:00 2 9 1
Run Code Online (Sandbox Code Playgroud)
我尝试过的一些代码如下:两者都有相同的错误.
prices = prices.resample('M', 'first')
prices = prices.index + pd.offsets.MonthEnd(0)
Run Code Online (Sandbox Code Playgroud)