【发布时间】: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)
【问题讨论】:
-
第二个警告是警告您尝试使用浮点数作为索引的潜在问题,这可能会由于相等比较而导致问题,第一个可能是参数澄清,而不是更喜欢
indexrows -
正如 Ed 所说,pivot_table 希望在未来更明确地了解行数据透视,因为它将行设置为数据透视结果的索引。因此,将您的代码更改为:
fare_means = df.pivot_table('Fare', index='Pclass', aggfunc='mean')以防万一 =)
标签: python pandas pivot-table kaggle