![](/img/trans.png)
[英]Python pandas apply function on columns value (base on columns names patern)
[英]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.