python代码转换器ese_“DataFrame”对象没有“值计数”属性

在尝试对DataFrame的每一列使用'value_counts'方法时,作者遇到了一个错误,即DataFrame对象没有'value_counts'属性。问题出现在将多个DataFrame列放入列表的循环中。尽管单个列调用'value_counts'能够正常工作,但在列表推导式中这样做会导致错误。代码包括数据预处理步骤,如使用pd.get_dummies进行独热编码。
摘要由CSDN通过智能技术生成

我的数据集是一个维度(840,84)的数据帧。当我写代码时:

ds[ds.columns[1]].value_counts()

我得到正确的输出:Out[82]:

0 847

1 5

Name: o_East, dtype: int64

但是,当我编写一个循环来存储值时,我会得到“DataFrame”对象没有“value\u counts”属性。我无法解释为什么。。。wind_vec = []

wind_vec = [(ds[x].value_counts()) for x in ds.columns]

更新代码import pandas as pd

import numpy as np

import numpy.ma as ma

import statsmodels.api as sm

import matplotlib

import matplotlib.pyplot as plt

from sklearn.preprocessing import OneHotEncoder

dataset = pd.read_csv('data/dataset.csv')

ds = dataset

o_wdire = pd.get_dummies(ds['o_wdire'])

s_wdire = pd.get_dummies(ds['s_wdire'])

t_wdire = pd.get_dummies(ds['t_wdire'])

k_wdire = pd.get_dummies(ds['k_wdire'])

b_wdire = pd.get_dummies(ds['b_wdire'])

o_wdire.rename(columns={'ENE': 'o_ENE','ESE': 'o_ESE', 'East': 'o_East', 'NE': 'o_NE', 'NNE': 'o_NNE', 'NNW': 'o_NNW', \

'NW': 'o_NW', 'North': 'o_North', 'SE': 'o_SE', 'SSE': 'o_SSE', 'SSW': 'o_SSW', 'SW': 'o_SW', \

'South': 'o_South', 'Variable': 'o_Variable', 'WSW': 'o_WSW','West':'o_West'}, inplace=True)

s_wdire.rename(columns={'ENE': 's_ENE','ESE': 's_ESE', 'East': 's_East', 'NE': 's_NE', 'NNE': 's_NNE', 'NNW': 's_NNW', \

'NW': 's_NW', 'North': 's_North', 'SE': 's_SE', 'SSE': 's_SSE', 'SSW': 's_SSW', 'SW': 's_SW', \

'South': 's_South', 'Variable': 's_Variable', 'West': 's_West','WSW': 's_WSW'}, inplace=True)

k_wdire.rename(columns={'ENE': 'k_ENE','ESE': 'k_ESE', 'East': 'k_East', 'NE': 'k_NE', 'NNE': 'k_NNE', 'NNW': 'k_NNW', \

'NW': 'k_NW', 'North': 'k_North', 'SE': 'k_SE', 'SSE': 'k_SSE', 'SSW': 'k_SSW', 'SW': 'k_SW', \

'South': 'k_South', 'Variable': 'k_Variable', 'WNW': 'k_WNW', 'West': 'k_West','WSW': 'k_WSW'}, inplace=True)

b_wdire.rename(columns={'ENE': 'b_ENE','ESE': 'b_ESE', 'East': 'b_East', 'NE': 'b_NE', 'NNE': 'b_NNE', 'NNW': 'b_NNW', \

'NW': 'b_NW', 'North': 'b_North', 'SE': 'b_SE', 'SSE': 'b_SSE', 'SSW': 'b_SSW', 'SW': 'b_SW', \

'South': 'b_South', 'Variable': 'b_Variable', 'WSW': 'b_WSW', 'WNW': 'b_WNW', 'West': 'b_West'}, inplace=True)

t_wdire.rename(columns={'ENE': 't_ENE','ESE': 't_ESE', 'East': 't_East', 'NE': 't_NE', 'NNE': 't_NNE', 'NNW': 't_NNW', \

'NW': 't_NW', 'North': 't_North', 'SE': 't_SE', 'SSE': 't_SSE', 'SSW': 't_SSW', 'SW': 't_SW', \

'South': 't_South', 'Variable': 't_Variable', 'WSW': 't_WSW', 'WNW': 't_WNW', 'West':'t_West'}, inplace=True)

#WIND

ds_wdire = pd.DataFrame(pd.concat([o_wdire,s_wdire,t_wdire,k_wdire,b_wdire],axis=1))

ds_wdire = ds_wdire.astype('float64')

In [93]: ds_wdire.shape

Out[93]: (852, 84)

In[101]: ds_wdire[ds_wdire.columns[0]].head()

Out[101]:

0 0

1 0

2 0

3 0

4 0

Name: o_ENE, dtype: float64

In[103]: ds_wdire[ds_wdire.columns[0]].value_counts()

Out[103]:

0 838

1 14

Name: o_ENE, dtype: int64

In[104]: [ds_wdire[x].value_counts() for x in ds_wdire.columns]

---------------------------------------------------------------------------

AttributeError Traceback (most recent call last)

in ()

1 #Filtering for the wind direction based on the most frequent ones.

----> 2 [ds_wdire[x].value_counts() for x in ds_wdire.columns]

in (.0)

1 #Filtering for the wind direction based on the most frequent ones.

----> 2 [ds_wdire[x].value_counts() for x in ds_wdire.columns]

/home/florian/anaconda3/lib/python3.5/site-packages/pandas/core/generic.py in __getattr__(self, name)

2358 return self[name]

2359 raise AttributeError("'%s' object has no attribute '%s'" %

-> 2360 (type(self).__name__, name))

2361

2362 def __setattr__(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'value_counts'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值