小编QM.*_*.py的帖子

将函数应用于 Pandas.DataFrame 中两列的每个组合的更好方法

我想实现一个类似DataFrame.corr()可以将函数应用于成对列的东西。例如。我有一个功能:

def func(x, y):
    pass
Run Code Online (Sandbox Code Playgroud)

我想应用于(类型)func中两列的每个组合。我找到了一种方法,通过创建一个新函数来包装:a_pdPandas.DataFramewap_funcfunc

def wap_func(x):
    for i in range(len(x)):
        for j in range(i+1, len(x)):
            func(x[i], x[j])

res = a_pd.apply(wap_func, axis=1)
Run Code Online (Sandbox Code Playgroud)

虽然问题似乎解决了,但是不太方便。如果能像这样的话a_pd.corr()就更好了。

python function apply pandas

5
推荐指数
1
解决办法
1502
查看次数

当我在 docker 中运行 `docker run hello-world` 时,连接的主机未能响应

最新版本的 docker(版本 0.6)已通过安装包安装在我的笔记本电脑(Windows 10 LTSB)中docker toolbox。它似乎安装正确,因为我在启动docker quickstart terminal. 当我运行时docker run hello-world,它返回

$ docker run hello-world
D:\Program Files\Docker Toolbox\docker.exe: An error occurred trying to connect: Post https://192.168.99.100:2376/v1.24/containers/create: dial tcp 192.168.99.100:2376: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond..
See 'D:\Program Files\Docker Toolbox\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我通过cisco anyconnect. 但是,当我断开 vpn 并运行 时hello world …

windows docker windows-10

5
推荐指数
1
解决办法
3790
查看次数

实现`df [m] = df [x] + df [y] + df [z]`的更好方法

我想得到三列的总和,我采取的方法如下:

In [14]:

a_pd = pd.DataFrame({'a': np.arange(3),
                     'b': [5, 7, np.NAN],
                     'c': [2, 9, 0]})
a_pd
Out[14]:
a   b   c
0   0   5.0 2
1   1   7.0 9
2   2   NaN 0
In [18]:

b_pd = a_pd['a'] + a_pd['b'] + a_pd['c']
b_pd
Out[18]:
0     7.0
1    17.0
2     NaN
dtype: float64
Run Code Online (Sandbox Code Playgroud)

但正如您所看到的,NaN不能被排除在外.所以我试过np.add(),但有些不对劲:

In [19]:

b_pd = a_pd[['a', 'b', 'c']].apply(np.add, axis=1)
b_pd
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-19-f52f400573b4> in <module>()
----> 1 b_pd = a_pd[['a', 'b', 'c']].apply(np.add, …
Run Code Online (Sandbox Code Playgroud)

python nan apply pandas

2
推荐指数
1
解决办法
363
查看次数

如何附加两个具有不同列数的 pandas.DataFrame

基于直接附加两个dataframe不同列数的事实,会出现错误pandas.io.common.CParserError: Error tokenizing data. C error: Expected 4 fields in line 242, saw 5。我该怎么办pandas才能避免错误?

我想出了一种天真的方法:只是处理原始数据,使列数相等。

能不能更优雅一点??我认为缺少的列可以np.nanpd.append.

python dataframe

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

标签 统计

python ×3

apply ×2

pandas ×2

dataframe ×1

docker ×1

function ×1

nan ×1

windows ×1

windows-10 ×1