小编PEB*_*KAC的帖子

合并多个DataFrames熊猫

这可能被认为是对各种方法的详尽解释的重复,但是由于数据帧数量增加,我似乎无法在其中找到解决问题的方法。

我有多个数据框(超过10个),每个数据框在一列中不同VARX。这只是一个快速且过于简化的示例:

import pandas as pd

df1 = pd.DataFrame({'depth': [0.500000, 0.600000, 1.300000],
       'VAR1': [38.196202, 38.198002, 38.200001],
       'profile': ['profile_1', 'profile_1','profile_1']})

df2 = pd.DataFrame({'depth': [0.600000, 1.100000, 1.200000],
       'VAR2': [0.20440, 0.20442, 0.20446],
       'profile': ['profile_1', 'profile_1','profile_1']})

df3 = pd.DataFrame({'depth': [1.200000, 1.300000, 1.400000],
       'VAR3': [15.1880, 15.1820, 15.1820],
       'profile': ['profile_1', 'profile_1','profile_1']})
Run Code Online (Sandbox Code Playgroud)

每个df轮廓都有相同或不同的深度,因此

我需要创建一个新的DataFrame,它将合并所有单独的DataFrame,其中操作的关键列是depth和profile,并且每个配置文件都显示所有深度值。

VARX因此NaN,该值应位于没有该轮廓的变量的深度测量的位置。

因此,结果应该是一个新的,压缩的DataFrame,其中的所有都VARX作为depth和profile的附加列,如下所示:

name_profile    depth   VAR1        VAR2 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

12
推荐指数
2
解决办法
3773
查看次数

为数组中的nan和inf值创建一个掩码

我必须从两个数组中删除nan和inf值.我发现此帖有用/sf/answers/3401433591/用于删除nan.当我可以创建一个掩码去除nan和inf值时,有没有类似的解决方案?

下面的例子只是说明性的,我有大尺寸的数组(400个元素)

import numpy as np
from numpy import nan, inf

a = np.asarray([0.5, 6.2, np.nan, 4.5, np.inf])
b = np.asarray([np.inf, np.inf, 0.3, np.nan, 0.5])

bad = ~np.logical_or(np.isnan(a), np.isnan(b))

X = np.compress(bad, a)  
Y = np.compress(bad, b) 

BIAS = np.nanmean(X - Y)
RMSE = np.sqrt(np.nanmean((X - Y)**2))
CORR = np.corrcoef(X, Y)
Run Code Online (Sandbox Code Playgroud)

我需要这个,以便正确地获得统计数据和图表

python numpy nan

4
推荐指数
2
解决办法
978
查看次数

熊猫箱数据框

我有一个带有0.1 m网格的深度列的数据框。

import pandas as pd


df1 = pd.DataFrame({'depth': [1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1 ],
            '350': [7.898167, 6.912074, 6.049002, 5.000357, 4.072320, 3.070662, 2.560458, 2.218879, 1.892131, 1.588389, 1.573693],
            '351': [8.094912, 7.090584, 6.221289, 5.154516, 4.211746, 3.217615, 2.670147, 2.305846, 1.952723, 1.641423, 1.622722],
            '352': [8.291657, 7.269095, 6.393576, 5.308674, 4.351173, 3.364569, 2.779837, 2.392813, 2.013316, 1.694456, 1.671752],
            '353': [8.421007, 7.374317, 6.496641, 5.403691, 4.439815, 3.412494, 2.840625, 2.443868, 2.069017, 1.748445, 1.718081 ],
            '354': [8.535562, 7.463452, 6.584512, 5.485725, 4.517310, 3.438680, 2.890678, 2.487039, 2.123644, …
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
1030
查看次数

插值PANDAS df

我知道这个主题在堆栈溢出时被提出了几次,但是我仍然遇到插值问题.

我有一组复杂的数据框,如果简化,可能看起来像这样:

df_new = pd.DataFrame(np.random.randn(5,7), columns=[402.3, 407.2, 412.3, 415.8, 419.9, 423.5, 428.3])
wl     = np.array([400.0, 408.2, 412.5, 417.2, 420.5, 423.3, 425.0])
Run Code Online (Sandbox Code Playgroud)

所以我需要做的是逐列插入每行的cols(wl)的新指定值.

以及如何使用仅包含wl数组中显示的值的列来获取新数据帧?

python interpolation pandas

3
推荐指数
1
解决办法
493
查看次数

从第一列Pandas中减去另一个数据帧

我必须使用相同的列的数据帧.我的任务应该是从df_nap中减去df_tot而不触及第一列('A').什么是最简单的解决方案?

谢谢!

import numpy as np
import pandas as pd

df_tot = pd.DataFrame(np.random.randint(10, size=(3,4)), columns=list('ABCD'))
df_nap = pd.DataFrame(np.random.randint(10, size=(3,4)), columns=list('ABCD'))
Run Code Online (Sandbox Code Playgroud)

python pandas

0
推荐指数
1
解决办法
1780
查看次数

标签 统计

python ×5

pandas ×4

dataframe ×1

interpolation ×1

nan ×1

numpy ×1