【问题标题】:Pandas warning 'rows is deprecated, use index instead'Pandas 警告“不推荐使用行,请改用索引”
【发布时间】:2014-09-28 13:26:12
【问题描述】:

我正在使用 iPython 笔记本中的 pandas 处理 Kaggle Titanic 数据集。

当我创建数据透视表时,我收到以下警告:

FutureWarning:不推荐使用行,请改用索引 warnings.warn(msg, FutureWarning)

这是我应该关心的事情吗?我所做的只是创建一个数据透视表:

import pandas as pd
df = pd.read_csv('https://dl.dropboxusercontent.com/u/5743203/data/titanic/titanic_train.csv')
fare_means = df.pivot_table('Fare', rows='Pclass', aggfunc='mean')

此外,当我尝试使用数据透视表中的值填写 NA 值时,我收到以下警告:

FutureWarning:索引类型 Int64Index 的标量索引器应该是整数而不是浮点数 type(self).name),FutureWarning

df['Fare'] = df[['Fare', 'Pclass']].apply(lambda x:
                fare_means[x['Pclass']] if pd.isnull(x['Fare'])
                else x['Fare'], axis=1)

【问题讨论】:

  • 第二个警告是警告您尝试使用浮点数作为索引的潜在问题,这可能会由于相等比较而导致问题,第一个可能是参数澄清,而不是更喜欢 index rows
  • 正如 Ed 所说,pivot_table 希望在未来更明确地了解行数据透视,因为它将行设置为数据透视结果的索引。因此,将您的代码更改为:fare_means = df.pivot_table('Fare', index='Pclass', aggfunc='mean') 以防万一 =)

标签: python pandas pivot-table kaggle


【解决方案1】:

来自 Pandas 1.2.4 中的 pandas.pivot_tablerows 不是参数。

因此,将rows 更改为index 应该可以解决您的问题

fare_means = df.pivot_table('Fare', index='Pclass', aggfunc='mean')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2020-01-31
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 2021-10-09
    • 2023-03-11
    相关资源
    最近更新 更多