我有以下数据框,想填写缺失的值。
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。为什么它不起作用?
我有一个netcdf文件,其中有几个值<0.我想用一个值(比如-1)替换所有值.我如何使用netCDF4做到这一点?我在这样的文件中阅读:
import netCDF4
dset = netCDF4.Dataset('test.nc')
dset[dset.variables['var'] < 0] = -1
Run Code Online (Sandbox Code Playgroud) 我试图使用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)
如何解决这个问题?
我有一个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变量将这些列相乘.
我有一个愚蠢的。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 函数来做同样的事情?
我想在matplotlib中创建图例,每列最多5个条目。现在,我可以手动设置列数,如下所示:
leg = plt.legend(loc='best', fancybox=None, ncol=2)
Run Code Online (Sandbox Code Playgroud)
如何修改此设置,以便每列最多允许5个条目?
如何添加一个装饰器,声明函数传入的 pandas 数据帧参数具有日期时间索引?
我查看了 engarde 和 validada 包,但还没有找到任何东西。我可以在函数内部进行此检查,但更喜欢装饰器。
如何在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"
我有一个值,比如 2016 和一个排序的 numpy 数组:[2005, 2010, 2015, 2020, 2025, 2030]。在数组中查找绑定 2016 的 2 个值的 Pythonic 方法是什么?在本例中,答案将是一个数组 [2015, 2020]。
不知道除了循环之外如何做到这一点,但希望有一个更基于 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这个数组中出现的次数?