小编use*_*827的帖子

在 Pandas 中,如何使用具有相似索引的另一个数据帧中的值来修补缺失值的数据帧?

填充 pandas 数据框中缺失的行值

我有以下数据框,想填写缺失的值。

mukey   hzdept_r    hzdepb_r    sandtotal_r silttotal_r
425897      0         61        
425897      61        152          5.3         44.7
425911      0         30           30.1        54.9
425911      30        74           17.7        49.8
425911      74        84        
Run Code Online (Sandbox Code Playgroud)

我希望每个缺失值都是与该 mukey 对应的值的平均值。在这种情况下,例如第一行缺失值将是对应于 mukey==425897 的 sandtotal_r 和 silttotal_r 的平均值。pandas fillna 似乎没有做到这一点。有什么帮助吗?


虽然代码适用于该示例中的示例数据帧,但它在我在这里上传的较大数据集上失败:https ://www.dropbox.com/s/w3m0jppnq74op4c/www004.csv?dl=0

import pandas as pd
df = pd.read_csv('www004.csv')
# CSV file is here: https://www.dropbox.com/s/w3m0jppnq74op4c/www004.csv?dl=0
df1 = df.set_index('mukey')
df1.fillna(df.groupby('mukey').mean(),inplace=True)
df1.reset_index()
Run Code Online (Sandbox Code Playgroud)

我收到错误:InvalidIndexError。为什么它不起作用?

python pandas

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

Python:使用netCDF4替换netcdf文件中的值

我有一个netcdf文件,其中有几个值<0.我想用一个值(比如-1)替换所有值.我如何使用netCDF4做到这一点?我在这样的文件中阅读:

import netCDF4

dset      = netCDF4.Dataset('test.nc')
dset[dset.variables['var'] < 0] = -1
Run Code Online (Sandbox Code Playgroud)

python netcdf

4
推荐指数
3
解决办法
7215
查看次数

尝试在Windows 10上使用python创建符号链接时发生特权错误

我试图使用foll在Windows 10(家庭版)上使用python创建一个符号链接.码:

import ctypes

kdll = ctypes.windll.LoadLibrary("kernel32.dll")
kdll.CreateSymbolicLinkW(src_dir, dst_dir, 1)
Run Code Online (Sandbox Code Playgroud)

但我得到了foll.错误:

*** error: (1314, 'CreateSymbolicLink', 'A required privilege is not held by the client.')
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

python windows symlink

4
推荐指数
3
解决办法
6001
查看次数

在pandas DataFrame中乘以列的列表

我有一个DataFrame(df),包含以下列:

cols = ['A','B','C','D']
Run Code Online (Sandbox Code Playgroud)

如何将这些列中的值相乘以形成一个名为"VAL"的列?

我可以做这个: df['VAL'] = df['A']*df['B']*df['C']*df['D']

但这不会扩大规模; 我想使用cols变量将这些列相乘.

python multiplication dataframe pandas

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

获取numpy数组中特定值的索引

我有一个愚蠢的。numpy 数组:

arr = [0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1]
Run Code Online (Sandbox Code Playgroud)

这就是我获取数组中所有 0 的索引的方式:

inds = []
for index,item in enumerate(arr):     
    if item == 0:
        inds.append(index)
Run Code Online (Sandbox Code Playgroud)

是否有一个 numpy 函数来做同样的事情?

python numpy

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

创建具有动态列数的matplotlib图例

我想在matplotlib中创建图例,每列最多5个条目。现在,我可以手动设置列数,如下所示:

leg = plt.legend(loc='best', fancybox=None, ncol=2)
Run Code Online (Sandbox Code Playgroud)

如何修改此设置,以便每列最多允许5个条目?

python matplotlib

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

通过装饰器断言 pandas 数据框具有日期时间索引

如何添加一个装饰器,声明函数传入的 pandas 数据帧参数具有日期时间索引?

我查看了 engarde 和 validada 包,但还没有找到任何东西。我可以在函数内部进行此检查,但更喜欢装饰器。

python decorator pandas datetimeindex

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

以ISO 8601格式输出日期

如何在C++中以下列格式获取日期:

2016-04-26T19:50:48Z

#include <chrono>
#include <ctime>

time_t _tm = time(NULL);
struct tm*curtime = localtime(&_tm);
Run Code Online (Sandbox Code Playgroud)

输出为 asctime(curtime)

目前的输出是: "Thu Apr 28 16:02:41 2016\n"

c++

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

查找限制输入值的 numpy 数组值

我有一个值,比如 2016 和一个排序的 numpy 数组:[2005, 2010, 2015, 2020, 2025, 2030]。在数组中查找绑定 2016 的 2 个值的 Pythonic 方法是什么?在本例中,答案将是一个数组 [2015, 2020]。

不知道除了循环之外如何做到这一点,但希望有一个更基于 numpy 的解决方案

- 编辑:

你可以假设你永远不会得到数组中的值,我对此进行了预过滤

python numpy

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

Numpy 查找二维数组中出现的次数

是否有 numpy 函数来计算 2D numpy 数组中某个值的出现次数。例如

np.random.random((3,3))

array([[ 0.68878371,  0.2511641 ,  0.05677177],
       [ 0.97784099,  0.96051717,  0.83723156],
       [ 0.49460617,  0.24623311,  0.86396798]])
Run Code Online (Sandbox Code Playgroud)

我如何找到0.83723156这个数组中出现的次数?

python numpy

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