我使用python模块pandas及其函数resample来计算数据集的平均值。我想知道我如何才能知道每天/每个月的重采样发生了什么。在下面给出的例子中,我计算了1月、2月和3月这三个月的平均值。在这种情况下,我问题的答案是:1月份的N= 31,2月份的N= 29,3月份的N= 31。对于更复杂的数据,有没有办法获得关于N的信息?
import pandas as pd
import numpy as np
#create dates as index
dates = pd.date_range('1/1/2000', periods=91)
index = pd.Index
我试图对一列的切片进行中间(减去平均值)。因此,在下面的示例中,我将按超例进行搜索(分组的变量取其平均值,然后在相同的位置分配旧值减去平均值)。我正在使用一个更大的dataframe (477行×85列),所以我做了一个测试df来说明我的观点。
import random as rd
# 10 row by 3 columns dataframe with random floats
test = pd.DataFrame([[rd.random() for n in range(3)] for n in range(10)], columns = ["Var{}".form
我面临Python/Pandas的性能问题。我有一个for循环,比较Pandas DataFrame中的后续行:
for i in range(1, N):
if df.column_A.iloc[i] == df.column_A.iloc[i-1]:
if df.column_B.iloc[i] == 'START' and df.column_B.iloc[i-1] == 'STOP':
df.time.iloc[i] = df.time.iloc[i] - df.time.iloc[i-1]
工作正常,但速
我有一个数据框架如下:
user | profit
-------------
Anna | 1.0
Bell | 2.0
Anna | 2.0
Chad | 5.0
Bell | 4.0
Anna | 3.0
我需要在用户级别上计算每一行的平均值,也就是说,每次我看到相同的用户时,我计算的是他/她的利润平均值。
例如,安娜的第一个利润均值为1.0,她的第二个利润均值为1.5,依此类推。
所需的结果如下:
user | profit | mean
--------------------
Anna | 1.0 | 1.0
Bell | 2.0
与和相关
考虑一下这个数据
import pandas as pd
import numpy as np
df = pd.DataFrame(index=range(10))
df['a'] = [ 3 * x for x in range(10) ]
df['b'] = [ 1 -2 * x for x in range(10) ]
根据 for aggregate,您应该能够指定使用如下所示的dict聚合哪些列:
df.agg({'a' : 'mean'})
回传
a 13.5
但是,如果您尝试使用用户定义的函数(如此函
我有一个从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
假设我已经生成了如下数据:
N = 20
m = 3
data = np.random.normal(size=(N,m)) + np.random.normal(size=(N,m))**3
然后我创建了一些分类变量:
indx = np.random.randint(0,3,size=N).astype(np.int32)
并生成一个DataFrame:
import pandas as pd
df = pd.DataFrame(np.hstack((data, indx[:,None])),
columns=['a%s' % k for k i
我有一个很大的DataFrame,看起来像:
c1 c2 c3
0 NaN 1.0 NaN
1 NaN NaN NaN
2 3.0 6.0 9.0
3 NaN 7.0 10.0
...
我想:
1-删除所有"Nan“值的行。就像样本中的第二行。
2-将其他行中的所有"Nan“值替换为行的平均值。
注意:在行中,我们有不同的"Nan“值。你能帮我一下吗?谢谢。
而且,这个链接没有解决我的问题:
下面是我的DataFrame示例:
import pandas as pd
import numpy as np
df = pd
大家好!我正在努力用python从excel表格中计算出某些行的平均值。特别是,我想从前三行开始计算每三行的平均值,然后移动到下三行,依此类推。我的excel表格包含156行数据。我的数据表如下所示:
And this is my code:
import numpy
import pandas as pd
df = pd.read_excel("My Excel.xlsx")
x = df.iloc[[0,1,2], [9,10,11]].mean()
print(x)
总而言之,我正在尝试使用一行代码或某种索引来计算第一部分测量值1(第1,2,3行)的平均值和第二
我有两个pandas.dataframes df1和df2。他们的一些指数是相等的。我希望找到这些索引,并将相应的行合并到一个新的dataframe。
df1 =
A B
Name
apple 1 5
orange 2 6
banana 3 7
df2 =
A B
Name
apple -1 10
audi -2 11
bmw 0 12
banana 2 8
vw -3 6
我想要的新数据是: 1)查找具有相同索引的行;2)计算列'A‘中相应行的平均值。
df_ne
放松点!我是一名Python学生!:)
我有一个模拟抛硬币的python程序。最终结果是,每次抛硬币都会以-1 (反面)或1(正面)的形式放入CSV。我需要Pandas将每列的行数限制为100万,并在每100万行之后自动继续到下一列。我该怎么做呢?我似乎找不到一篇适用于Pandas的文章,我对这个主题的了解仍然非常有限。
import pandas as pd
import numpy as np
#get the flipcount
flipcount=int(input("How many times should I flip a coin?\n###:"))
samp
我有pandas df,比如说,100行,10列,(实际数据很大)。我也有row_index列表,其中包含,哪些行被认为是采取均值。我想要计算第2,5,6,7和8列的平均值。我们可以用dataframe对象的一些函数来计算吗?
我所知道的是做一个for循环,获取row_index中每个元素的row的值,并继续执行mean。我们有没有一些直接的函数,可以为ex df.meanAdvance(row_list,column_list,axis=0)传递row_list、column_list和axis?
我看过DataFrame.mean(),但我猜它没有帮助。
a b c d q
0 1