Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这两个Python数据帧命令之间的区别是什么?_Python_Pandas - Fatal编程技术网

这两个Python数据帧命令之间的区别是什么?

这两个Python数据帧命令之间的区别是什么?,python,pandas,Python,Pandas,假设我有一个空的数据帧 import pandas as pd m = pd.DataFrame(index=range(1,100), columns=range(1,100)) m = m.fillna(0) 以下两个命令之间有什么区别 m[2][1] m[2].ix[1] # This code actually allows you to edit the dataframe 如果有助于将来的参考,请随时提供进一步的阅读 简单的回答是,你可能不应该做这两件事(原因见@EdChum的链

假设我有一个空的数据帧

import pandas as pd
m = pd.DataFrame(index=range(1,100), columns=range(1,100))
m = m.fillna(0)
以下两个命令之间有什么区别

m[2][1]
m[2].ix[1] # This code actually allows you to edit the dataframe

如果有助于将来的参考,请随时提供进一步的阅读

简单的回答是,你可能不应该做这两件事(原因见@EdChum的链接):

您通常应该在需要行和列访问的任何时候对整个数据帧使用单个
ix
iloc
loc
命令,而不是顺序列访问,然后再进行行访问,就像您在这里所做的那样。比如说,

m.iloc[1,2]
请注意,与您的示例相比,1和2是相反的,因为
ix/iloc/loc
都使用标准的行-列语法。您的语法是相反的,因为您正在链接,并且首先从数据帧(这是一个系列)中选择一列,然后从该系列中选择一行

在像您这样的简单情况下,这通常不会太重要,但是
ix/iloc/loc
的用处在于,它们的设计允许您以复杂的方式“编辑”数据帧(也称为设置或赋值)

这里有一个很好的解释
ix/iloc/loc

以及标准文件:


相关:除上述内容外,您还应了解第一行可能出现故障而第二行正常工作的原因:
m.iloc[1,2]