简体   繁体   English

ValueError:对象类型没有名为node2的轴<class 'pandas.core.frame.DataFrame'>

[英]ValueError: No axis named node2 for object type <class 'pandas.core.frame.DataFrame'>

import pandas as pd
import numpy as np
from datetime import datetime

data = {'date': ['1998-03-01 00:00:01', '2001-04-01 00:00:01','1998-06-01 00:00:01','2001-08-01 00:00:01','2001-05-03 00:00:01','1994-03-01 00:00:01'], 
        'node1': [1, 1, 2,2,3,2],
     'node2': [8,316,26,35,44,56],
     'weight': [1,1,1,1,1,1], }

df2 = pd.DataFrame(data, columns = ['date', 'node1','node2','weight'])


df2['date'] = pd.to_datetime(df2['date'])

l1 = [1990,1991,1992,1993,1994,1995,1996,1997,1998]
l2 = [1999,2000,2001]
ndf = df2[df2['date'].dt.year.isin(l1+l2)]

mask = ndf.groupby('node1','node2').apply(lambda x : (x['date'].dt.year.isin(l1)).any())
mask2 = ndf.groupby('node1','node2').apply(lambda x : (x['date'].dt.year.isin(l2)).any())

the error I am getting- 我得到的错误 -

Traceback (most recent call last):
  File "datanew.py", line 32, in <module>
    mask = ndf.groupby('node1','node2').apply(lambda x : (x['date'].dt.year.isin(l1)).any())
  File "C:\Python27\lib\site-packages\pandas\core\generic.py", line 5159, in groupby
    axis = self._get_axis_number(axis)
  File "C:\Python27\lib\site-packages\pandas\core\generic.py", line 357, in _get_axis_number
    .format(axis, type(self)))
ValueError: No axis named node2 for object type <class 'pandas.core.frame.DataFrame'>

I have defined column 'node2' in data but still the error is saying no axis with node2.What seems to be the problem? 我已经在数据中定义了列'node2'但是错误仍然是说没有带有node2的轴。这似乎是什么问题?

You need [] in groupby : 你需要在groupby []

.groupby(['node1','node2'])

mask = ndf.groupby(['node1','node2']).apply(lambda x : (x['date'].dt.year.isin(l1)).any())
print (mask)
node1  node2
1      8         True
       316      False
2      26        True
       35       False
       56        True
3      44       False
dtype: bool

mask2 = ndf.groupby(['node1','node2']).apply(lambda x : (x['date'].dt.year.isin(l2)).any())
print (mask2)
node1  node2
1      8        False
       316       True
2      26       False
       35        True
       56       False
3      44        True
dtype: bool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 没有为对象类型命名为 1 的轴<class 'pandas.core.frame.DataFrame'> - No axis named 1 for object type <class 'pandas.core.frame.DataFrame'> ValueError:对象类型没有名为userID的轴 - ValueError: No axis named userID for object type <class 'pandas.core.frame.DataFrame' 使用 ExcelFile() 时出现 ValueError: Invalid file path or buffer object 类型:<class 'pandas.core.frame.dataframe'></class> - While using ExcelFile() I am getting ValueError: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'> 更新:命令行错误:ValueError:无效的文件路径或缓冲区 object 类型:<class 'pandas.core.frame.dataframe'></class> - UPDATE: Error in command line: ValueError: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'> ValueError:带有a的填充值无效<class 'pandas.core.frame.DataFrame'> - ValueError: invalid fill value with a <class 'pandas.core.frame.DataFrame'> Jupyter Notebook:无效的文件路径或缓冲区 object 类型:<class 'pandas.core.frame.dataframe'> Python</class> - Jupyter Notebook: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'> Python AssertionError:DataFrame 预期类型<class 'pandas.core.frame.DataFrame'> , 成立<class 'NoneType'>反而 - AssertionError: DataFrame Expected type <class 'pandas.core.frame.DataFrame'>, found <class 'NoneType'> instead ValueError:无法找到可以处理输入的数据适配器:<class 'numpy.ndarray'> ,<class 'pandas.core.frame.DataFrame'> - ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, <class 'pandas.core.frame.DataFrame'> 值错误:对象类型没有名为 1 的轴<class 'pandas.core.series.Series'> - ValueError: No axis named 1 for object type <class 'pandas.core.series.Series'> ValueError:对象类型没有名为 1 的轴<class 'pandas.core.series.Series'>在 Power BI 中 - ValueError: No axis named 1 for object type <class 'pandas.core.series.Series'> in Power BI
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM