- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
df = pd.DataFrame(np.random.rand(100, 2),
columns=pd.Index(['A', 'B'], name='bar'),
index=pd.date_range('20160101',
periods=100, freq='D', name='foo'))
corr = df.rolling(12).corr()
在旧版本中,这会返回一个面板,因此现有代码使用
corr[0,:,:]
返回第一个日期的 corr 矩阵。
但是,在新版本中,corr 是一个 multiIndex DataFrame,上面的代码失败了。如何以最少的更改实现相同的输出?
corr.iloc[0] # only returns first row
corr.iloc[0,:,:] # error
编辑:
所需的输出是获得与下面相同的返回,但不是使用 .loc
和值,而是使用类似 .iloc[11]
的东西(即相关性date中第12个值对应的矩阵)
corr.loc['2016-01-12']
bar A B
foo bar
2016-01-12 A 1.000000 -0.115059
B -0.115059 1.000000
最佳答案
@MaxU 提到的问题是 .iloc
不是“MultiIndex-aware”——参见 here进行讨论。
针对您的案例的替代解决方案:
dates = corr.index.get_level_values(0).drop_duplicates()
corr.loc[dates[12]] # correl. matrix for 12th date (0-indexed)
保留为 DataFrame:
corr.loc[[dates[12]]]
关于python pandas multiIndex Dataframe,如何根据iloc选择一级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47859723/
我正在研究 Pandas 并研究汽车(一个 csv 文件)。我运行了以下命令: 1) cars.iloc[[3, 0]] Out[2]: cars_per_cap country dri
我无法使用 x.iloc[1]['x']=16 将 np.nan 的值更改为 16,但我可以使用 x['x'].iloc[1]=16 更改它。为什么?这两个表达式有什么区别? x = pd.DataF
我想对列中的值使用 iloc。 df1 = pd.DataFrame({'col1': ['1' ,'1','1','2','2','2','2','2','3' ,'3','3'],
所以我想选择数据帧的前 10 行,但通过特定的列名称(例如“价格”)。显然我可以这样做: df.iloc[0:10]['价格'] 但我想避免链式索引。有办法做到这一点吗?我无法使用 LOC,因为没有编
我有一个ProductDf,它有同一产品的多个版本。我想过滤产品的最后一次迭代。所以我这样做了如下: productIndexDf= ProductDf.groupby('productId').ap
这里是新手。 我正在尝试学习 Python 并使用数据集,我有点陷入工作的深渊。该语言显然非常强大,但与我以前体验过的任何其他语言都截然不同。 我需要以下方面的一些澄清/帮助/解释。 部分算法代码 h
我掉了前两个 栏目 在下面的代码中使用 iloc 方法没有任何问题。 eng_df.drop(eng_df.iloc[:,:2] , axis=1, inplace=True) 但我试图删除第一个 行
我可以使用:iloc[:, [1,2,3,27, 4:27] 我想按列索引对列重新排序并在输出中包含所有列 最佳答案 是的,你可以,但你需要构建一个没有切片的索引列表。 Numpy 有一个漂亮的 he
我可以使用:iloc[:, [1,2,3,27, 4:27] 我想按列索引对列重新排序并在输出中包含所有列 最佳答案 是的,你可以,但你需要构建一个没有切片的索引列表。 Numpy 有一个漂亮的 he
首先我应该说,我对 pandas 和 numpy(以及一般的机器学习)还很陌生。 我正在尝试学习一些基本的机器学习算法并正在做线性回归。我已经使用 matlab 完成了这个问题,但想尝试用 pytho
我在使用 .loc/.iloc 作为循环的一部分时遇到一些问题。这是我的代码的简化版本: INDEX=['0', '1', '2', '3', '4'] COLUMNS=['A','B','C'] d
鉴于下面的数据框,我想选择 A 列、D 列到 F 列。 import numpy as np import pandas as pd df = pd.DataFrame(np.random.randi
现在正在浏览 Kaggle 教程,虽然我通过查看输出和阅读文档了解了它的作用的基本概念,但我认为我需要确认这里发生的事情: predictors = ["Pclass", "Sex", "Age",
假设我有以下具有相同列名的 DataFrame test = pd.DataFrame([[1, 2, 3, np.nan, np.nan], [1, 2,
我想通过 iloc 更改我的 DataFrame 中某些列的数据类型。但是当我尝试这个时,dtype 没有改变(它仍然是对象): import pandas as pd names = ['sepal
我正在尝试拆分包含 1500 多家公司股票数据的 CSV 文件。第一列包含日期,后续列包含公司数据。 当我使用 iloc 功能将 CSV 文件拆分为包含较少列的较小文件时,它会生成一个更大的文件。 数
我从 pandas DataFrame 中选择 2 - end 列,iloc 为 d=c.iloc[:,2:] 现在如何将条件应用于此选择?例如,如果 column1==1。 最佳答案 您可以使用 D
我有一个 32 列的 df df.shape (568285, 32) 我正在尝试以特定方式重新排列列,并使用 iloc 删除第一列 df = df.iloc[:,[31,[1:23],24,25,
pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称。这样内部数据抽取既可以用“行列名称(对应.loc[]方法)”,也可以用“矩阵下标(
我有一个包含贡献者 ID 和贡献者消息的数据集。我想检索所有带有相同消息的样本,例如,contributor_message == '我支持这个提议,因为......'。 我使用 data.loc[d
我是一名优秀的程序员,十分优秀!