- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在研究 Pandas 并研究汽车(一个 csv 文件)。我运行了以下命令:
1) cars.iloc[[3, 0]]
Out[2]:
cars_per_cap country drives_right
IN 18 印度错误US 809 美国真
2) cars.iloc[[3],[0]]
Out[7]:
cars_per_cap
18 年
3) 汽车.iloc[3, 0]
Out[9]: 18
我对第一个和第三个命令感到困惑,我检查了所有命令的类型,前两个是 DataFrame 而第三个不是。但是,为什么我在第 1 次和第 3 次得到不同的输出?任何帮助将不胜感激。
最佳答案
df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')}, index=range(10, 16))
print (df)
A B C D E F
10 a 4 7 1 5 a
11 b 5 8 3 3 a
12 c 4 9 5 6 a
13 d 5 4 7 9 b
14 e 5 2 1 2 b
15 f 4 3 0 4 b
选择3. 和0. 行,所有列:
print (df.iloc[[3,0]])
#same as
#print (df.iloc[[3,0], :])
A B C D E F
13 d 5 4 7 9 b
10 a 4 7 1 5 a
选择3. 和0. 列,所有行:
print (df.iloc[:, [3,0]])
D A
10 1 a
11 3 b
12 5 c
13 7 d
14 1 e
15 0 f
选择3。行 和0。列 - 嵌套列表创建一个项目系列
print (df.iloc[[3],[0]])
A
13 d
同上,只是没有嵌套列表得到标量:
print (df.iloc[3,0])
d
另一种选择:
选择 3. 和 0. 行,0. 列 - 第二 []
创建一列 数据框
:
print (df.iloc[[3, 0],[0]])
A
13 d
10 a
... 如果省略,则得到 Series
:
print (df.iloc[[3, 0], 0])
13 d
10 a
Name: A, dtype: object
如果要选择一行多列:
print (df.iloc[[0], [3, 0]])
D A
10 1 a
print (df.iloc[0, [3, 0]])
D 1
A a
Name: 10, dtype: object
最后选择多行多列:
print (df.iloc[[3,0], [3,0]])
D A
13 7 d
10 1 a
关于python - cars.iloc[[3, 0]]、cars.iloc[[3]、[0]] 和 cars.iloc[3, 0] 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49380440/
我正在研究 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
我是一名优秀的程序员,十分优秀!