TypeError:(“'NoneType'对象不可调用”,'在索引处发生>>

问题描述 投票:1回答:1

[我正在尝试构建一个可以选择数字或对象dtype的函数,并将NaN值替换为与dtype相关的值,例如,数字为0,对象为'Missing Value'。

我的代码和错误是:

test_df.select_dtypes(include=[float,int]).apply(test_df.fillna(0, inplace=True))

TypeError :(“'NoneType'对象不可调用”,'在索引字数处发生']

test_df.select_dtypes(include=[object]).apply(test_df.fillna('Missing Value', inplace=True))

TypeError :(“'NoneType'对象不可调用”,“在索引地址处发生”)

我不确定如何解决这些错误。同样,如果有人认为我正在以错误的方式高兴地看到另一个解决方案。我需要大量执行此操作,并寻找完成工作的最有效方法。

我已经阅读了一些类似的文章,但问题似乎非常针对特定人员的问题和代码。

感谢您的任何帮助。

示例数据:

test_df = {'Address': {0: 'https://www.example.com/',
  1: 'https://www.example.com/predictions/doncaster-rovers-vs-shrewsbury-predictions-betting-tips-match-previews/',
  3: 'https://www.example.com/freetips/free-golf-betting-tips/',
  4: 'https://www.example.com/news/',
  6: 'https://www.example.com/leagues/sky-bet-championship/',
  7: 'https://www.example.com/freetips/f1-betting-tips-predictions/',
  8: 'https://www.example.com/bankroll-builder/',
  11: 'https://www.example.com/predictions/hartlepool-vs-eastleigh-predictions-betting-tips-match-previews/',
  12: 'https://www.example.com/over-2-5-goals-betting-tips-and-predictions/',
  13: 'https://www.example.com/terms-conditions/',
  14: 'https://www.example.com/tips/nhl-2019-2020-season-picks-betting-tips/',
  15: 'https://www.example.com/news/9-1-win-accumulator-lands-on-monday-night/',
  16: 'https://www.example.com/leagues/sky-bet-league-1/',
  18: 'https://www.example.com/daily-double-tips/',
  19: 'https://www.example.com/leagues/europa-league/',
  21: 'https://www.example.com/freetips/free-snooker-betting-tips/',
  23: 'https://www.example.com/leagues/uefa-champions-league/',
  24: 'https://www.example.com/daily-treble-tips/',
  25: 'https://www.example.com/freetips/free-darts-betting-tips/',
  26: 'https://www.example.com/app/'},
 'Content': {0: 'text/html; charset=UTF-8',
  1: 'text/html; charset=UTF-8',
  3: 'text/html; charset=UTF-8',
  4: 'text/html; charset=UTF-8',
  6: 'text/html; charset=UTF-8',
  7: 'text/html; charset=UTF-8',
  8: 'text/html; charset=UTF-8',
  11: 'text/html; charset=UTF-8',
  12: 'text/html; charset=UTF-8',
  13: 'text/html; charset=UTF-8',
  14: 'text/html; charset=UTF-8',
  15: 'text/html; charset=UTF-8',
  16: 'text/html; charset=UTF-8',
  18: 'text/html; charset=UTF-8',
  19: 'text/html; charset=UTF-8',
  21: 'text/html; charset=UTF-8',
  23: 'text/html; charset=UTF-8',
  24: 'text/html; charset=UTF-8',
  25: 'text/html; charset=UTF-8',
  26: 'text/html; charset=UTF-8'},
 'Title 1': {0: 'Free Sports Betting Tips From Professional Betting Tipsters',
  1: 'Doncaster Rovers vs Shrewsbury Predictions & Tips',
  3: 'Free Golf Betting Tips, Predictions & Golf Betting Odds',
  4: 'Football Betting Blog | Free Super Tips',
  6: 'Championship Predictions & Championship Betting Tips',
  7: 'F1 Racing Betting Tips and Predictions | Free Super Tips',
  8: 'Betting Bankroll Builder | Free Football Betting Tips | Free Super Tips',
  11: 'Hartlepool vs Eastleigh Predictions & Tips',
  12: 'Over 2.5 Goals Tips & Over 1.5 Goals Betting Predictions',
  13: 'Terms & Conditions | Free Super Tips',
  14: 'NHL 2019-2020 Season Picks & Betting Tips',
  15: '9/1 Win Accumulator lands on Monday night!',
  16: 'League One Predictions & League One Betting Tips | Football Betting',
  18: 'Daily Double Tips | Free Super Tips',
  19: 'Europa League Predictions & Europa League Betting Tips',
  21: 0,
  23: 'Champions League Predictions & Champions League Betting Tips',
  24: 'Daily Treble Tips | Free Football Betting Tips | Free Super Tips',
  25: 'Free Darts Betting Tips and Predictions | Free Super Tips',
  26: 'FreeSuperTips Mobile App for iPhone and Android | Download Now!'},
 'H1-1': {0: 'The Home of Free Sports Betting Tips',
  1: 'Doncaster vs Shrewsbury Predictions',
  3: 'Latest Golf Betting Tips',
  4: 'News Articles',
  6: 'Championship Predictions & Championship Betting Tips',
  7: 'Latest F1 Betting Tips & Predictions',
  8: 'Bankroll Builder',
  11: 'Hartlepool vs Eastleigh Predictions',
  12: 'Over 2.5 Goals Betting Tips and Predictions',
  13: 'Terms & Conditions',
  14: 'NHL 2019-2020 Season Picks & Betting Tips',
  15: '9/1 Win Accumulator lands on Monday night!',
  16: 'League One Predictions & League One Betting Tips',
  18: 'Daily Double Tips',
  19: 'Europa League Predictions & Europa League Betting Tips',
  21: 0,
  23: 'Champions League Predictions & Champions League Betting Tips',
  24: 'Daily Treble',
  25: 'Latest Darts Tips',
  26: 'Download The App'},
 'H1-2': {0: 'The Home of Free Sports Betting Tips',
  1: 0,
  3: 'Free Golf Betting Tips',
  4: 0,
  6: 0,
  7: 'Free F1 Betting Tips',
  8: 'Bankroll Builder',
  11: 0,
  12: 'Free Over 2.5 Goals Tips',
  13: 0,
  14: 0,
  15: 0,
  16: 0,
  18: 'What is a Daily Double?',
  19: 0,
  21: 0,
  23: 0,
  24: 'Free Daily Treble Tips',
  25: 'Free Darts Betting Tips',
  26: 0},
 'H2-1': {0: 'Welcome to Free Super Tips',
  1: 'Predictions & Tips',
  3: 'Free Golf Betting Tips',
  4: 'Sign Up To Our Email Newsletter',
  6: 'Sky Bet Championship Predictions 2019/20',
  7: 'F1 Betting Tips & Predictions',
  8: 'Bankroll',
  11: 'Predictions & Tips',
  12: 'How does goal betting work?',
  13: 0,
  14: 'Boston Bruins to Win the Stanley Cup',
  15: 'Sign Up To Our Email Newsletter',
  16: 'League 1 Betting Previews',
  18: 'Where should I back your daily double tips?',
  19: 'UEFA Europa League Predictions 2019/20',
  21: 0,
  23: 'UEFA Champions League Predictions 2019/20',
  24: 'What is a Daily Treble?',
  25: 'Free Darts Betting Tips & Predictions',
  26: 0},
 'H2-2': {0: 'Today’s Free Football Betting Tips',
  1: 'Reason For Doncaster vs Shrewsbury Predictions',
  3: 'When Are Your Golf Tips Posted?',
  4: 0,
  6: 'Championship Betting Previews',
  7: 'This Weeks Formula 1 Betting Tips',
  8: 'Bets',
  11: 'Reason For Hartlepool vs Eastleigh Predictions',
  12: 'What are the advantages of betting on Over 2.5 Goals tips?',
  13: 0,
  14: 'Dallas Stars to Win the Stanley Cup',
  15: 0,
  16: 'When do you post your League 1 Tips?',
  18: 'Where can I get a free bet to back your\xa0daily double?',
  19: 'Europa League Final Predictions',
  21: 0,
  23: 'Champions League Final Predictions',
  24: 'What are the advantages of a Daily Treble?',
  25: 'When Are Your Darts Tips Posted?',
  26: 0},
 'Word Count': {0: 2194,
  1: 2052,
  3: 1169,
  4: 1520,
  6: 1311,
  7: 973,
  8: 698,
  11: 2019,
  12: 1540,
  13: 972,
  14: 1486,
  15: 1720,
  16: 1123,
  18: 684,
  19: 1677,
  21: 0,
  23: 1699,
  24: 818,
  25: 1520,
  26: 328},
 'Text Ratio': {0: 11.52079,
  1: 8.852077,
  3: 9.677187,
  4: 10.943003,
  6: 10.753424,
  7: 8.455938,
  8: 5.3081274,
  11: 9.528880000000001,
  12: 11.084525,
  13: 10.7027025,
  14: 10.938739,
  15: 12.078298,
  16: 8.26281,
  18: 5.3075795,
  19: 12.4630165,
  21: 0.0,
  23: 14.116589999999999,
  24: 6.197794,
  25: 12.040536999999999,
  26: 3.7226769999999996},
 'Hash': {0: '3ab5ba34a7c581e883016049e28848cb',
  1: 'b255533806a97449e445d66690e6e007',
  3: '9ff9a83314e16aabf989686db460d014',
  4: '8af6446deabe06eada8e6904af182d20',
  6: 'e93988549da9e7bd40c5744cdd42e817',
  7: 'e193daa50f94d2a94b97f4bdd077a468',
  8: '26e4fe9a95e069d5d413e05e24f4af90',
  11: 'd7e1b955b137503cdbe3b59c04a95b73',
  12: 'abff28a712fae7a29c981d20ade64b3d',
  13: 'bf83435ce5015b77dba70e103402f927',
  14: '8964c47ec078178b8648f51bd6b1200f',
  15: 'de9beacf3baa076b0bafcaf8da8f398c',
  16: '56d40290ecfb52421759097f96797fe6',
  18: '27d4a921fa5ac189418ce880beabdf2a',
  19: '995417328e28075ceb2a1e01fc38198d',
  21: 0,
  23: '7914bf5e45a5f2731d9b3ad266b38c19',
  24: '8c180a043597529daeb8948b8f916c89',
  25: '3856cca3e8809531bcf02189fdd1c2d',
  26: 'f2e3259f5a4938deca7b37d88fddd6cd'}}

我正在尝试构建一个函数,该函数可以选择数字或对象dtype,并将NaN值替换为与dtype相关的值,即,数字为0,对象为'Missing Value'。我的代码和...

python pandas
1个回答
0
投票

因此,您必须将可通话对象传递给.apply,但无需申请。它对您没有任何帮助。您想就地修改数据框。您可以利用fillna

© www.soinside.com 2019 - 2024. All rights reserved.