假设我有下面的pandas数据帧
import pandas as pd
import numpy as np
df= pd.DataFrame(np.nan, columns =["A","B","C"], index =np.arange(5))
df=df.astype(object)
for c in list(df):
for i in df.index.values:
df.at[i, c]=np.arange(5).tolist()
这会产生df,其单元格是numpy数组。
df
Out[16]:
我有一个大小为20x20 (类型为pandas.core.frame.DataFrame)的数据帧。数据框中的400个单元格中的每个单元格都包含一个带有值的列表。我想分别计算每个列表(单元格)的值的平均值。数据帧如下所示:
x y z ...
x [1,2,4,3] [1,2,4,3] [1,2,4,3]
y [8,2,6,4] [1,2,4,3] [1,2,4,3]
z [1,2,4,9] [1,2,4,3] [1,2,4,3]
.
.
.
我想要得到这样的结果:
x y z ...
我在一个数据帧中有一系列的数据帧。
顶层数据帧的结构如下:
24hr 48hr 72hr
D1 x x x
D2 x x x
D3 x x x
在每种情况下,x都是使用pandas.read_excel()创建的数据帧
每个x数据帧中的一列具有标题‘平均血管长度’,并且在该列中有三个条目(即行、索引)。
我想返回的是“平均血管长度”列的平均值。我还对如何返回该列中的特定单元格感兴趣。我知道有一个用于pandas数据帧的.mean方法,但我不知道使用它的索引语法。
下面是一个例子
import pandas as
最近,我观察到熊猫的乘法速度更快。我在下面的示例中向您展示了这一点。在如此简单的操作上,这怎么可能呢?这怎么可能呢?pandas数据帧中的底层数据容器是numpy数组。
测量
我使用带形状(10k,10k)的数组/数据帧。
import numpy as np
import pandas as pd
a = np.random.randn(10000, 10000)
d = pd.DataFrame(a.copy())
a.shape
(10000, 10000)
d.shape
(10000, 10000)
%%timeit
d * d
53.2 ms ± 333 µs per loop
考虑到有不同的ID,我想用缺失值之前和之后的单元格的平均值来填充pandas数据帧中的缺失值。 maskedid test value
1 A 4
1 B NaN
1 C 5
2 A 5
2 B NaN
2 B 2 预期的DF maskedid test value
1 A 4
1 B 4.5
1 C 5
2 A 5
2
我有一个类似类型的1000个数据帧的列表。
dfs<-list()
for (i in 1:1000) {
dfs[[i]]<-iris[sample(1:length(iris$Sepal.Length),80),-5]
}
其中每一个都是80×4数据帧。我想以单元方式添加(或任何其他操作)所有这些数据帧,并将输出作为80x4数据帧,每个单元格包含1000个单元格之和,或者可能是1000个单元格的平均值?
我正在寻找最好的方法来计算存储在数据帧中的许多dask delayed指令。我不确定是否应该将pandas数据帧转换为包含delayed对象的dask数据帧,或者是否应该对pandas数据帧的所有值调用compute调用。
我非常感谢大家的建议,因为我在通过嵌套的for循环传递delayed对象的逻辑上遇到了问题。
import numpy as np
import pandas as pd
from scipy.stats import hypergeom
from dask import delayed, compute
steps = 5
sample = [int(x) for x