这个问题基本上与以下问题有关:notebook-memory-usage,原始帖子太旧了,因此我认为开始新帖子更好。
这是代码的一部分:
def get_proc_info():
# memory info from psutil.Process
df_mem = []
....
df_mem = pd.DataFrame(df_mem)
df_mem.columns = ['user', 'pid', 'memory_GB', 'kernel_ID']
return df_mem, ports
在df_mem.columns = ['user', 'pid', 'memory_GB', 'kernel_ID']
处的错误如下:
get_proc_info中的文件“ ./notebook_mem_usage.py”,第64行 df_mem.columns = ['user','pid','memory_GB','kernel_ID']
ValueError:长度不匹配:预期轴包含0个元素,新值 有四个元素
如果有人能给我更多的了解,我们将不胜感激,在此先感谢您。
答案 0 :(得分:1)
在重命名列之前,这些列需要预先存在。考虑一个空的数据框:
df = pd.DataFrame()
print(df.columns)
Index([], dtype='object')
您不能在大小为0的数组中容纳4个值。因此,您看到ValueError
。您有两种选择:
pd.DataFrame
构造函数具有一个columns
参数:
df = pd.DataFrame(columns=['user', 'pid', 'memory_GB', 'kernel_ID'])
创建一个空的数据框并加入一个新的数据框:
df = pd.DataFrame()
df = df.join(pd.DataFrame(columns=['user', 'pid', 'memory_GB', 'kernel_ID']))