python - pandas数据框中df.loc第一个参数的范围和单个值之间的差异
问题描述
要在熊猫数据框中选择一列,我应该使用
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, :]
中没有范围,因此它将以系列形式打印。
推荐阅读
- java - 将地理位置保存到 Postgis 数据库
- c++ - 优化存储指向 std::list 元素的“指针”以创建 Trie
- java - 我怎样才能得到这个数组的最大值来打印?
- tableau-api - Tableau 上的队列
- reactjs - 无法在里面显示状态变量
- c++ - 我应该移动一个unique_pointer 还是应该发送一个指向unique_pointer 的指针?
- executable - 在 Perl6 中创建可执行文件
- html - 6列引导div内容器的左边距对齐
- c# - 如何从 WPF 项目中运行控制台项目
- c++-cli - 在 C++/CLI 中创建 System::Threading::Tasks 时出现编译错误。无法发现错误