Python DataFrameA.columnA与熊猫中的DataFrameA。[“columnA”相同吗?
我正在考虑将我所有的Python DataFrameA.columnA与熊猫中的DataFrameA。[“columnA”相同吗?,python,python-3.x,pandas,dataframe,numpy,Python,Python 3.x,Pandas,Dataframe,Numpy,我正在考虑将我所有的DataFrameA.columnA更改为DataFrameA[“columnA”],因为看起来文档经常使用括号语法。这看起来是更好的做法,因为它提供了基于变量而不是硬编码动态选择列的机会。例如,您可以执行以下操作: columnWanted="columnA"; DataFrameA[columnWanted] # Yield ColumnA, GOOD 使用其他语法 columnWanted="columnA"; DataFr
DataFrameA.columnA
更改为DataFrameA[“columnA”]
,因为看起来文档经常使用括号语法。这看起来是更好的做法,因为它提供了基于变量而不是硬编码动态选择列的机会。例如,您可以执行以下操作:
columnWanted="columnA";
DataFrameA[columnWanted] # Yield ColumnA, GOOD
使用其他语法
columnWanted="columnA";
DataFrameA.columnWanted # Yields Nothing, BAD. No way of Evaluating Variable.
这是行不通的。因为它查找“columnWanted
”,并且无法在python中放入某种类型的语句来计算columnWanted的值
您可以同时使用上述两种约定,只要:
- 有问题的专栏存在
- 列名是字符串文字,而不是包含字符串的变量
更确切地说是属性表示法。首先,它应该是
DataFrameA[“columnA”]
,而不是DataFrameA[“columnA”]
此外,这里:
columnWanted="columnA";
DataFrameA.columnWanted # Yields Nothing, BAD. No way of Evaluating Variable.
“无法计算变量”并不完全正确。你可以用
columnWanted="columnA";
getattr(DataFrameA, columnWanted) # equivalent to DataFrameA.columnA
但是你不应该在这里用这个。最好使用DataFrameA[“columnA”]
关于这个问题,两者完全相同。你可以通过跑步看到这一点
DataFrameA.columnA is DataFrameA["columnA"]
输出是
True
我不认为在DataFrameA
和[“columnName”]
@JohnGordon之间应该有一个时间段。你是对的,我不知道getattr。看来这会派上很多用场