繁体   English   中英

Python pandas - 获取列名的函数

[英]Python pandas - Function to get columns with their names

我有一个 Excel 文件:

Test_Case   Value
Case_1      0.988532846
Case_2      0.829241525
Case_3      0.257209267
Case_4      0.871698313
Case_5      0.63913665

使用熊猫我已经看到我们可以得到这样的列:

import pandas as pd
myExcelFile = "data.xlsx"
readExcelFile = pd.read_excel(myExcelFile, sheet_name=0, index=0)
testCaseColumn = readExceFile.Test_Case

结果 :

0 Case_1
1 Case_2
2 Case_3
3 Case_4
4 Case_5

列的名称可以更改,我想创建一个带有两个参数的函数来获取我想要的列:

def getColumn(readExceFile, columnName):
    return readExceFile.columnName

我想知道如何将列的名称归因于我的 readExcelFile 参数?

谢谢你的帮助

您可以使用getattr

def getColumn(readExceFile, columnName):
    return getattr(readExceFile, columnName)

由于your_dataframe.column_name仅适用于不带空格字符的列名,并且您已经提到可以更改列名,因此您可以使用your_dataframe.loc[:,'column_name']调用列名(请参阅 Alexander Céciles 评论)。

另一方面,如果您的数据集始终具有相同的结构(n 列,第一个包含一些分类数据,第二个包含值等),那么您也可以直接使用your_dataframe.iloc[:,0]调用它, 0 是您在集合中的第一个感兴趣的列。

最后,如果你真的需要一个单独的函数(至少除了我提到的那两个之外)它返回完全相同的输出,那么你可以使用这个:

def get_column(your_dataframe, column_name):
    return your_dataframe.loc[:,column_name]

...什么是高度非 Pythonic 的代码编写方式(参见Zen of Python

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM