在使用熊猫的复杂链式方法中,其中一个步骤是将数据按列分组,然后计算一些指标。这是我想要实现的程序的一个简化例子。我在工作流程中有更多的任务,但一开始很不幸地失败了。
import pandas as pd
import numpy as np
data = pd.DataFrame({'Group':['A','A','A','B','B','B'],'first':[1,12,4,5,4,3],'last':[5,3,4,5,2,7,]})
da
我有一个从csv文件中提取的数据。我想迭代一个数据进程,其中只有一些列的数据是n行的平均值,而其余的列是每个迭代的第一行。
例如,从csv提取的数据由100行6列组成。我有一个变量n_AVE = 6,它告诉代码将数据平均为每6行。
rawDf = pd.read_csv(outputFilePath / 'Raw_data.csv', encoding='CP932')
OUT:
TIME A B C D E
0 2021/3/4 148 0 142
我有两只熊猫的资料。每一个都有一个维度和一个度量。我需要根据每个表中的维度来聚合度量,并根据维度加入它们。所以:
A
dim1 met1
a 100
a 200
b 50
B
dim2 met2
a 70
a 20
c 50
我对每个dataframe使用pandas.groupby(),但是当我通过执行.dtypes来检查groupby的结果时,我发现dim1 dim2不再存在于聚合输出中。
因此,现在,当我尝试基于dim1=dim2的连接时,我得到消息,dim1,dim2不存在。
我做错什么了
我想根据一个DataFrame检查从Pandas DataFrame中删除一个行子集。
初级DataFrame
>>> df
name day fruit foobar
0 Tim 1 Apple 0
1 Tim 1 Apple 1
2 Tim 2 Apple 2
3 Anna 1 Banana 3
4 Anna 1 Strawberry 4
5 Bob 1 Strawberry
Pandas窗口函数,例如rolling,工作得很好。然而,从SQL我知道,窗口也可以是PARTITIONED BY某个组。
如何在pandas中获取分组窗口?答:
df.groupby(['group']).rolling('10s').mean()
失败,出现以下错误:
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'MultiIndex'
如果使用df.rolling('10s',
我有一个Pandas DataFrame,其中包含一个date列。该列的元素类型为pandas.tslib.Timestamp。
我想按日期对数据进行分组,但不包括更细粒度的时间戳信息(即。按日期分组,其中所有Feb 23, 2011都分组)。我知道如何用SQL来表达这一点,但是对于Pandas来说,这是非常新的。
做了非常类似的事情,但是我不理解代码,它使用datetime对象。
在中,我甚至不知道如何从Pandas时间戳对象中检索日期。我可以转换为datetime对象,但这似乎非常迂回。
根据请求,df.head()的输出
date show network time
我在使用python来理解这个for循环时遇到了一些麻烦。下面是一个单列数据框作为示例。我发现的大多数pandas示例都是一次处理整个数据帧。或者搜索一个单词并附加到前一行。 What I am trying to do: Forgive me trying to sound it out in a logical way.
1-Start at (0,Test) in the series.
2-Check element at (0,Test) for number at first position (0). If True, then hold and (store)
pre_
以DataFrame为例:
import pandas as pd
df = pd.DataFrame({'A':[1,2,1,2],
'B':[1,2,1,2],
'C':list('WXYZ'),
'D':list('abcd')})
df.set_index('A', inplace=True)
print(df)
# B C D
# A
我有一个带有3级MultiIndex的数据帧。它们是“类别”、“品牌”和“邮政编码”。Dataframe中有一个系列("Sales")。我想循环"Category“和"Brand”索引级别,并提供一个以"Zip Code“作为索引和"Sales”作为系列的Dataframe。
当我只有两个多索引级别时,我使用了groupby,例如
for name, group in df.groupby(level = 0):
我正在苦苦思索如何遍历下一个索引级别。
正如你在下面看到的,我在我的数据框中有不同的‘ticker’,我想计算'lret‘列的标准偏差,但每个单独的ticker。目前,它将整个列作为一行进行计算。如何计算数据帧中每个报价器的标准差?任何帮助都将不胜感激。另外,请参见下面的函数,了解代码当前所做的工作。 数据帧输出 price date ticker lret std
0 104.000000 2016-07-01 A NaN 0.019456
1 104.878151 2016-07-05 A 0.008408 0.019456
2
我在Pandas中有一个dataframe,它的列将对应于dict的键和值。 for values in ['A','B']:
MYDICT[values] = [] # Initialize to empty list
Name ID othercolumns
A 5 ...
B 6 ...
A 3 ... 我正在尝试找到一种简单的方法来将Name的每个值赋给ID,以便MYDICT[NAME].append(ID) 我目前的解决方案是迭代数据帧中的每一行 for index,
假设我有两个带有部分重复条目的数据文件:
source1=pandas.DataFrame({'key':['a','b'],'value':[1,2]})
# key value
#0 a 1
#1 b 2
source2=pandas.DataFrame({'key':['b','c'],'value':[3,0]})
# key value
#0 b 3
#1 c 0
为了获得具有以下条目的结果框架
( Q1)我想做一个groupby、SQL风格的聚合和重命名输出列。
示例数据集:
>>> df
ID Region count
0 100 Asia 2
1 101 Europe 3
2 102 US 1
3 103 Africa 5
4 100 Russia 5
5 101 Australia 7
6 102 US 8
7 104 Asia 10
8 105 Europe
如果我将csv文件读入熊猫的dataframe中,然后使用groupby (pd.groupby(column1,.)),为什么不能在新的分组对象上调用to_excel属性。
import pandas as pd
data = pd.read_csv("some file.csv")
data2 = data.groupby(['column1', 'column2'])
data2.to_excel("some file.xlsx") #spits out an error about series lacking the a