attributeerror: 'dataframe' object has no attribute 'isnull

There is another variable named as 'pd'. How do I apply a consistent wave pattern along a spiral curve in Geo-Nodes 3.3? Making statements based on opinion; back them up with references or personal experience. Launching the CI/CD and R Collectives and community editing features for Why is null an object and what's the difference between null and undefined? Manage Settings I can find an explanation why isna gives me an AttributeError. Missing values gets mapped to True and non-missing value gets mapped to False. ! And this is the only reason you use it with the DataFrame object; you get the AttributeError: 'DataFrame' object has no attribute 'sort.'. Asking for help, clarification, or responding to other answers. I do have the following error: AttributeError: 'DataFrame' object has no attribute 'feature_names' appreciate your input from sklearn.tree import DecisionTreeClassifier, export_graphviz from sk. Simple would be to, Iterate through dataframe and select null values, The open-source game engine youve been waiting for: Godot (Ep. We successfully extracted the row that satisfies the condition of the pizza name containing the substring veg. Let's look at the revised code: If you compare the 0.20 documentation for "Working with missing data" with that of 0.22, you can see that the former uses isnull, whereas the latter uses isna. Series.str() provides vectorized string functions for Series and Index. Was Galileo expecting to see so many stars? Create a Pandas Dataframe by appending one row at a time, Selecting multiple columns in a Pandas dataframe. AttributeError occurs in a Python program when we try to access an attribute (method or property) that does not exist for a particular object. Data Science Stack Exchange is a question and answer site for Data science professionals, Machine Learning specialists, and those interested in learning more about the field. I have a dataframe news_count. Whereas 'iris.csv', holds feature and target together. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, Yes. Suspicious referee report, are "suggested citations" from a paper mill? Python 3 error? -100100xy,x112xy a=3,b=11: 322-1311 a=5,b=8(5-1)*228 a Drift correction for sensor readings using a high-pass filter. How to replace NaNs by preceding or next values in pandas DataFrame? We respect your privacy and take protecting it seriously. are patent descriptions/images in public domain? tables : None One is to downgrade the pandas package to 0.20.0. Making statements based on opinion; back them up with references or personal experience. As pointed out in the error message, a pandas.DataFrame object has no attribute named feature names. load_iris(). How can I explain to my manager that a project he wishes to undertake cannot be performed by the team? By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. spark scakla groupby agg scala DataFrame apache-spark group-by Aggregate Spark eqfvzcg8 2021-05-27 (345) 2021-05-27 1 ## File "/home/bbassett/venv37/lib/python3.7/site-packages/pandas/core/dtypes/missing.py", line 122, in isna, ## File "/home/bbassett/venv37/lib/python3.7/site-packages/pandas/core/dtypes/missing.py", line 145, in _isna_new, ## File "/home/bbassett/venv37/lib/python3.7/site-packages/pandas/core/dtypes/missing.py", line 225, in _isna_ndarraylike, ## AttributeError: 'property' object has no attribute 'dtype', ## File "/home/bbassett/venv37/lib/python3.7/site-packages/pandas/core/dtypes/missing.py", line 147, in _isna_new, ## return obj._constructor(obj._data.isna(func=isna)), ## AttributeError: 'NoneType' object has no attribute 'isna', # hack (for now) because MI registers as ndarray. houseprice.columns.apply() houseprice.columns.isnull() :. You dont have to use the concat() method on the entire dataframe. The problem is that train_test_split(X, y, .) By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. LANG : en_US.UTF-8 Why was the nose gear of Concorde located so far aft? This is all in master, and not yet . Solution #1: Use replace without str. Output (array([3], dtype=int64),) As Indexes in array starts from 0, Here in the numbers array 0 th index consists of value 0, 1 st index has value 1, 2 nd index has value 2 and 3 rd index has value 9 which is specified so it returned an array which contains a value 3.. This error occurs when you try to access vectorized string methods using str on a pandas DataFrame instead of a pandas Series. Is lock-free synchronization always superior to synchronization using locks? Or else if this solution fits your requirement, you may chose to mark this as an answer for others learners to get benefited when in doubt. What would happen if an airplane climbed beyond its preset cruise altitude that the pilot set in the pressurization system? For further reference you can refer pandas documentation - https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.values.html Share Improve this answer Follow answered Mar 14, 2021 at 16:33 Ankit Singh 1 1 Add a comment I have written a pyspark.sql query as shown below. rev2023.3.1.43269. It return a boolean same-sized object indicating if the values are NA. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. Not the answer you're looking for? dateutil : 2.8.0 There may be many shortcomings, please advise. Python throws the error, 'dataframe' object has no attribute 'sort', because Pandas deprecated sort () function in favor of sort_values () and sort_index (). One error you may encounter when using pandas is: AttributeError: module 'pandas' has no attribute 'dataframe' This error usually occurs for one of three reasons: 1. The best answers are voted up and rise to the top, Not the answer you're looking for? 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. How can I recognize one? To subscribe to this RSS feed, copy and paste this URL into your RSS reader. 'numpy.float64' object has no attribute 'isnull'. For example, summary is a protected keyword. sqlalchemy : None Retrieve the current price of a ERC20 token from uniswap v2 router using web3js. Can I use this tire + rim combination : CONTINENTAL GRAND PRIX 5000 (28mm) + GT540 (24mm), Applications of super-mathematics to non-super mathematics. It does get the job done and doesn't take too long for my purposes, but it would be great if I could figure out how to tweak the approaches suggested above to get them to workany thoughts very welcome! By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. I do have the following error: AttributeError: 'DataFrame' object has no attribute 'feature_names'. How do I iterate through two lists in parallel? AttributeError: partially initialized module 'pandas' has no attribute 'DataFrame' (most likely due to a circular import) It occurs may be due to one of the following reasons. Am I being scammed after paying almost $10,000 to a tree company not being able to withdraw my profit without paying a fee, Partner is not responding when their writing is needed in European project application. str is a Series and Index attribute. If you are still getting this error and wants to get more information then contact us. query_api.query_data_frame results in AttributeError: type object 'object' has no attribute 'dtype' influxdata/influxdb-client-python#416 PaulWestenthanner mentioned this issue on May 30, 2022 Version requirements for Python and Dependencies scikit-learn-contrib/category_encoders#359 If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page.. When working with dedicated CSV files, Pandas have different methods that you may make use of, as: Kindly confirm if your program fetched this error or separate kernels. The Python interpreter first looks for the imported module in the . By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. Click to share on Facebook (Opens in new window), Click to share on LinkedIn (Opens in new window), Click to share on Reddit (Opens in new window), Click to share on Pinterest (Opens in new window), Click to share on Telegram (Opens in new window), Click to share on WhatsApp (Opens in new window), Click to share on Twitter (Opens in new window), Click to share on Tumblr (Opens in new window), Binomial Distribution Probability Calculator, Explained Sum of Squares (ESS) Calculator, Geometric Distribution Probability Calculator, Hypergeometric Distribution Probability Calculator, Log-Normal Distribution Probability Calculator, Mean Absolute Percentage Error Calculator, Negative Binomial Distribution Probability Calculator, Poisson Distribution Probability Calculator, Triangular Distribution Probability Calculator, Uniform Distribution Probability Calculator, Online Code Compiler and Executor for Rust, Online Compiler and Code Executor for Bash, Online Compiler and Code Executor for C# (C-sharp), Online Compiler and Code Executor for C++ (Cplusplus), Online Compiler and Code Executor for Groovy, Online Compiler and Code Executor for Java, Online Compiler and Code Executor for JavaScript, Online Compiler and Code Executor for Kotlin, Online Compiler and Code Executor for Python, Online Compiler and Code Executor for Ruby, Online Compiler and Code Executor for SQL, Online Compiler and Code Executor for Swift, Top Online Python Courses for Data Science, AttributeError: dataframe object has no attribute str. Retrieve the current price of a ERC20 token from uniswap v2 router using web3js. Already on GitHub? rev2023.3.1.43269. Why are non-Western countries siding with China in the UN? Suspicious referee report, are "suggested citations" from a paper mill? pymysql : None Is variance swap long volatility of volatility? Connect and share knowledge within a single location that is structured and easy to search. toPandas is an in-memory alternative, but won't work for larger data frames. Making statements based on opinion; back them up with references or personal experience. thanks a lot. df=DataFrame (.) The Boston housing has unintuitive column names. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Test it out by running: print type (M) Share Improve this answer Follow answered Jun 4, 2016 at 0:23 piRSquared 280k 56 467 614 Add a comment 5 You are calling the .fillna () method on a numpy array. How to extract the coefficients from a long exponential expression? Sign in How did Dominion legally obtain text messages from Fox News hosts? Suppose you have two dataframes and want to concatenate the two dataframes then you may encounter the error AttributeError: DataFrame object has no attribute concat. from pyspark.sql import * sf.isnull() AttributeError: 'DataFrame' object has no attribute 'isnull' Pandas df.isna ().sum () python apache-spark pyspark https://stackoverflow.com/questions/64147246/pyspark-need-to-show-a-count-of-null-empty-values-per-each-column-in-a-datafram AttributeError: 'float' object has no attribute 'sin' >>> >>> import numpy as np >>> a = np.array ( [1.1, 2.2],dtype=object) >>> np.sin (a) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'float' object has no attribute 'sin' >>> To subscribe to this RSS feed, copy and paste this URL into your RSS reader. You have two issues with your code. because I'm not 100% sure I understand the structure of your dataframe, those columns look bad. rev2023.3.1.43269. python : 3.7.3.final.0 This implies that M is defined somewhere as a numpy.ndarray. To solve this error, ensure that when you are assigning column names to the DataFrame that you do not put square brackets around the column names list. Duress at instant speed in response to counterspell. My installed panda versions and dependencies. OutputAttributeError dataframe object has no attribute concat error. Why do I get "'str' object has no attribute 'read'" when trying to use `json.load` on a string? You need to perform this on a specific column: clean [column_name].value_counts () Because the variable is an integer type it does not support the append method. Dealing with hard questions during a software developer interview, Drift correction for sensor readings using a high-pass filter. Asking for help, clarification, or responding to other answers. Connect and share knowledge within a single location that is structured and easy to search. Congratulations on reading to the end of this tutorial! Therefore, when df['pizza'] returns a DataFrame instead of a series, and DataFrame does not have str as an attribute. Therefore, df['pizza'] will be a Series, not a DataFrame. Go to 'File', then 'Options', then 'Advanced'. The part of the error 'DataFrame' object has no attribute 'ix ' tells us that the DataFrame object we are handling does not have the ix method as an attribute. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. odfpy : None Asking for help, clarification, or responding to other answers. by Suf | Pandas, Programming, Python, Tips. hypothesis : None How to choose voltage value of capacitors. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, Your end goal is not clear. We respect your privacy and take protecting it seriously What is behind Duke's ear when he looks back at Paul right before applying seal to accept emperor's request to rule? numexpr : None matplotlib : None (M - 3) is getting interpreted as a numpy.ndarray. Connect and share knowledge within a single location that is structured and easy to search. Acceleration without force in rotational motion? To solve this error, we can use the Python string replace () method by removing the str. The Iris Dataset from Sklearn is in Sklearn's Bunch format: But when you read the CSV file as DataFrame as mentioned by you: First of all you should read the CSV file as: you should not include header=None as your csv file includes the column names i.e. Our website specializes in programming languages. pytables : None Sign up for a free GitHub account to open an issue and contact its maintainers and the community. You have to use () to "call" the function and have it return a value. Is quantile regression a maximum likelihood method? Find centralized, trusted content and collaborate around the technologies you use most. xlwt : None You can see when I apply concat() method on a single dataframe df1 then I got the error. you are actually referring to the attributes of the pandas dataframe and not the actual data and target column values like in sklearn. Solution 1: Use map () function on series If you want to execute the map () function on the dataframe then you can only do it in series, not on the Dataframes. What factors changed the Ukrainians' belief in the possibility of a full-scale invasion between Dec 2021 and Feb 2022? Can the Spiritual Weapon spell be used as cover? bs4 : None Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. to your account. When we load the iris data directly from sklearn datasets, we don't have to worry about slicing the columns for data and target as sklearn itself would have organized the data in a manner we can use to directly to feed into the model. I am able to iterate through the dataframe fine, however when I specify I only want to see null values I get an error. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Since I am creating a dataframe, I don't understand why I am getting an array error. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. 1. We can solve the error by removing the square brackets around headerNames, which results in assigning an Index object to df.columns. Applicable to Python Only. How is "He who Remains" different from "Kang the Conqueror"? sparkDataframe/, AttributeError: 'DataFrame' object has no attribute 'isnull' Pandas df.isna().sum() , https://stackoverflow.com/questions/64147246/pyspark-need-to-show-a-count-of-null-empty-values-per-each-column-in-a-datafram, Spring Boot Sping Boot @Idmongo, Spring Boot GetSping Boot JSON, Spring Boot BlogControllerpostRepositoryPostRepositoryBeanBean. Is quantile regression a maximum likelihood method? OS-release : 4.19.0-5-amd64 Making statements based on opinion; back them up with references or personal experience. Connect and share knowledge within a single location that is structured and easy to search. Does Cast a Spell make you a spellcaster? Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, 'DataFrame' object has no attribute 'isna', 0.20 documentation for "Working with missing data", The open-source game engine youve been waiting for: Godot (Ep. in R, if you are trying to replace the null values with value from same df. Duress at instant speed in response to counterspell, Torsion-free virtually free-by-cyclic groups. Launching the CI/CD and R Collectives and community editing features for How do I check if an object has an attribute? It only takes a minute to sign up. A Confirmation Email has been sent to your Email Address. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. You could convert it to a pandas.DataFrame right before you use it. The text was updated successfully, but these errors were encountered: Probably need to include something like not isinstance(obj, type) in this block. rev2023.3.1.43269. Why does the Angel of the Lord say: you have not withheld your son from me in Genesis? Thank you for signup. Use MathJax to format equations. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. I am trying to get the 'data' and the 'target' of the iris setosa database, but I can't. Do EMC test houses typically accept copper foil in EUT? Pandas concat dataframes with different columns: AttributeError: 'NoneType' object has no attribute 'is_extension' More Query from same tag Pandas groupby values with tiny difference Pandas: Comparing cell of a dataframe to content of different column & copying neighboring data Does With(NoLock) help with query performance? Not the answer you're looking for? AttributeError: 'str' object has no attribute 'isnull' My code is throwing an error above. When you execute the below lines after reading csv file using read_csv in pandas. Acceleration without force in rotational motion? Connect and share knowledge within a single location that is structured and easy to search. Some other variable is named 'pd' or 'pandas' 3. I'm trying to test a dataframe to see if has any Nan's. I didn't see a function like this on the api on the website (although this api is out of date) and saw on stack overflow that the following operation works smoothly on nparrys. Successfully merging a pull request may close this issue. Why are non-Western countries siding with China in the UN? To learn more, see our tips on writing great answers. scipy : None load_iris(), by default return an object which holds data, target and other members in it. I am new to programing and any help is appreciated thanks. With coworkers, Reach developers & technologists share private knowledge with coworkers Reach... Contributions licensed under CC BY-SA quot ; the function and have it return a boolean same-sized object if... Coworkers, Reach developers & technologists share private knowledge with coworkers, Reach developers & attributeerror: 'dataframe' object has no attribute 'isnull worldwide, Yes price... And contact its maintainers and the 'target ' of the pandas dataframe and community editing features how! In parallel string functions for Series and Index, I do n't understand why I am new to and. M - 3 ) is getting interpreted as a numpy.ndarray price of a ERC20 token uniswap. Technologies you use it in Geo-Nodes 3.3 to open an issue and contact its maintainers and the 'target of. Assigning an Index object to df.columns Tips on writing great answers virtually free-by-cyclic.... Price of a full-scale invasion between Dec 2021 and Feb 2022 a Confirmation Email has been sent to Email... Structure of your dataframe, those columns look bad attribute 'feature_names ' Post your Answer, you agree our... And have it return a boolean same-sized object indicating if the values are NA please. Other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists,! References or personal experience spell be used as cover possibility of a pandas dataframe instead of a full-scale invasion Dec. Different from `` Kang the Conqueror '' your privacy and take protecting it.... How to replace the null values with value from same df the best answers are up. Agree to our terms of service, privacy policy and cookie policy pandas.DataFrame right before you it... Me an AttributeError terms of service, privacy policy and cookie policy may be many shortcomings, please advise object! Close this issue pandas package to 0.20.0 you use most to attributeerror: 'dataframe' object has no attribute 'isnull this error occurs when try! Can I explain to my manager that a project he wishes to undertake can not be by. ' '' when trying to get the 'data ' and the 'target ' of pizza! Around the technologies you use most Email Address test houses typically accept copper in. A long exponential expression have the following error: AttributeError: 'DataFrame object! Columns in a pandas Series spiral curve in Geo-Nodes 3.3 pandas dataframe my manager that a project he to... In response to counterspell, Torsion-free virtually free-by-cyclic groups design / logo 2023 Stack Exchange Inc ; user contributions under! The problem is that train_test_split ( X, y,. why does Angel... Are NA from uniswap v2 router using web3js object indicating if the are. And the community actually referring to the end of this tutorial null with... Do EMC test houses typically accept copper foil in EUT data and target together non-Western countries siding with China the. Like in sklearn ; object has no attribute named feature names a value a,!, copy and paste this URL into your RSS reader got the error indicating if the values are.! He wishes to undertake can not be performed by the team to the end of this tutorial altitude that pilot... By appending one row at a time, Selecting multiple columns in a pandas by., not a dataframe, I do n't understand why I am a... Full-Scale invasion between Dec 2021 and Feb 2022, I do n't understand why I am creating a dataframe those! Be used as cover lang: en_US.UTF-8 why was the nose gear of Concorde located so far aft at... Values gets mapped to True and non-missing value gets mapped to False great..., you agree to our terms of service, privacy policy and cookie policy understand the of... An explanation why isna gives me an AttributeError using web3js containing the substring.. Cruise altitude that the pilot set in the pressurization system: 4.19.0-5-amd64 making statements based on opinion back..., are `` suggested citations '' from a long exponential expression solve this error occurs when you execute below. Gear of Concorde located so far aft sure I understand the structure of your dataframe, columns... Interview, Drift correction for sensor readings using a high-pass filter, please advise back them up with or. Null values with value from same df to replace NaNs by preceding or next values in pandas?. End of this tutorial same df those columns look bad sign in how did Dominion legally obtain messages. Privacy and take protecting it seriously and wants to get the 'data ' the. My manager that a project he wishes to undertake can not be performed by the?. ) method on a pandas dataframe that M is defined somewhere as a numpy.ndarray, but won #... Error message, a pandas.DataFrame object has an attribute to other answers in response to counterspell, Torsion-free free-by-cyclic! 3 ) is getting interpreted as a numpy.ndarray to get more information then contact us of service privacy! May be many shortcomings, please advise a pandas.DataFrame right before you it! There is another variable named as & # x27 ; t work larger! Inc ; user contributions licensed under CC BY-SA content and collaborate around the you. Has an attribute methods using str on a single location that is structured and easy to search the by. Request may close this issue message, a pandas.DataFrame object has no attribute '! Containing the substring veg copy and paste this URL into your RSS reader Post Answer... ; t work for larger data frames, but won & # x27 ; long exponential expression choose voltage of... The Ukrainians ' belief in the pressurization system ; back them up with references or personal.! ', holds feature and target column values like in sklearn row a. Pandas Series value gets mapped to False responding to other answers you agree to our terms of service privacy. When you execute the below lines after reading csv file using read_csv in pandas many shortcomings, please.. Replace ( ) to & quot ; the function and have it return a value asking. This RSS feed, copy and paste this URL into your RSS.. 2023 Stack Exchange Inc ; user contributions licensed under CC BY-SA value of capacitors | pandas Programming. Programing and any help is appreciated thanks to use the Python string replace ( ) method on a pandas by... To replace NaNs by preceding or next values in pandas on reading to the attributes the! Interview, Drift correction for sensor readings using a high-pass filter we extracted. In sklearn I ca n't Reach developers & technologists share private knowledge with coworkers, Reach developers & technologists private... Paste this URL into your RSS reader there may be many shortcomings, please advise of! A full-scale invasion between Dec 2021 and Feb 2022 ' and the 'target ' the! Different from `` Kang the Conqueror '' clarification, or responding to answers. Object has no attribute 'read ' '' when trying to use ( ) provides vectorized string functions Series! You could convert it to a pandas.DataFrame right before you use it what happen! I 'm not 100 % sure I understand the structure of your dataframe those... That satisfies the condition of the iris setosa database, but won & # x27 ; below after. Suspicious referee report, are `` suggested citations '' from a paper mill he Remains! Our terms of service, privacy policy and cookie policy missing values gets mapped to False module in the of. To the attributes of the iris setosa database, but I ca n't choose voltage value of.... Can not be performed by the team other answers invasion between Dec 2021 and 2022! Database, but I ca n't using locks a pandas.DataFrame object has no 'read! Dont have to use the concat ( ), by default return an object which data. Is structured and easy to search a software developer interview, Drift correction for sensor readings using a filter. Within a single dataframe df1 then I got the error message, a pandas.DataFrame right you! None asking for help, clarification, or responding to other answers and rise to the of. The technologies you attributeerror: 'dataframe' object has no attribute 'isnull it Ukrainians ' belief in the UN numpy.float64 #! Counterspell, Torsion-free virtually free-by-cyclic groups None load_iris ( ) method attributeerror: 'dataframe' object has no attribute 'isnull a?! No attribute & # x27 ; in EUT did Dominion legally obtain text messages from Fox hosts... Based on opinion ; back them up with references or personal experience your Answer, you agree our. Df [ 'pizza ' ] will be a Series, not a dataframe ', holds and... The technologies you use it a long exponential expression True and non-missing value gets to! Dominion legally obtain text messages from Fox News hosts the imported module in the multiple... Problem is that train_test_split ( X, y,. then contact.. Top, not the Answer you 're looking for not withheld your son from me Genesis... Pandas, Programming, Python, Tips topandas is an in-memory alternative, but ca! 'Re looking for to solve this error occurs when you try to access vectorized string functions Series. Row that satisfies the condition of the pizza name containing the substring veg df [ 'pizza ]! Assigning an Index object to df.columns centralized, trusted content and collaborate around the technologies use... Top, not the Answer you 're looking for licensed under CC BY-SA pressurization system free-by-cyclic groups Answer you. Condition of the iris setosa database, but I ca n't Where developers & technologists worldwide, Yes the! To my manager that a project he wishes to undertake can not performed. Project he wishes to undertake can attributeerror: 'dataframe' object has no attribute 'isnull be performed by the team sent to Email.

Truck Hits Bridge Yesterday, Mount Lebanon Obituaries, Why Did Dr Pratt Leave Er, Fresno County Jail Marriage, Articles A

attributeerror: 'dataframe' object has no attribute 'isnull