python - pandas 数据框中 df.loc 第一个参数的范围和单个值之间的差异

标签 python pandas dataframe

要选择 pandas 数据框中的单个列,我应该使用

df.loc[3:3, :]

df.loc[3, :]

它们并不完全相同,因为第一个在 Jupyter 中显示表格,而第二个则不然。

最佳答案

df.loc[3:3, :] 表示,以 Dataframe 形式打印索引为 3 的行。

df.loc[3, :] 表示,以序列形式打印索引为 3 a 的行。

让我们以一个DataFrame为例:

df = pd.DataFrame({'time':[1,5,10,12,15,18],'shift':['A','B','C','D','E','F']})

这就是 DataFrame 的样子:

  shift  time
0     A     1
1     B     5
2     C    10
3     D    12
4     E    15
5     F    18

现在让我们一条一条地执行你的语句:

##1st code:
df.loc[3:3, :]

  shift time
3   D   12

 
##2nd code:
df.loc[3, :]

shift     D
time     12
Name: 3, dtype: object

为什么因为我们在这里的第一个代码 df.loc[3:3, :] 中指定了一个切片范围,尽管我们给出了 3:3 的范围将只打印具有第三个索引的行。在第二个代码中,df.loc[3, :] 没有范围,因此它将以系列形式打印。

关于python - pandas 数据框中 df.loc 第一个参数的范围和单个值之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67147760/

相关文章:

python - PySpark:根据不同列中的一个值的最后一次出现来填充列

python - 从 S3 读取 KMS 加密文件

python - 按计数聚合,将所有列保留在 Pandas 中

python - 如何在 Pandas Dataframe 中除以零并从 2 中生成 1 列

python - 两个 pandas 数据框中的列中唯一值的数量

python - 展平 Pandas 数据框

python - 具有常量和可迭代参数的函数的多重处理

python - 使用 lxml 获取值

python - Pandas - 将数据附加到特定列

r - 在两列中按数据子集