Python 获取表中匹配列名的对应行值
我有一个包含许多列和一行的数据框架,每次出现特定值时都需要获取列标题。例如:Python 获取表中匹配列名的对应行值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含许多列和一行的数据框架,每次出现特定值时都需要获取列标题。例如: Date c1 col2 col3 col4 col5 rl6 d7 01/01/2016 00:00 37.04 36.57 35.77 37.56 36.79 35.90 38.15 。。。给定一个列名为['col2','col3','col4','col5']的数组 我需要将这些名称与标题名称进行比较,只要列名与数组
Date c1 col2 col3 col4 col5 rl6 d7
01/01/2016 00:00 37.04 36.57 35.77 37.56 36.79 35.90 38.15
。。。给定一个列名为['col2','col3','col4','col5']
的数组
我需要将这些名称与标题名称进行比较,只要列名与数组匹配,就可以在一行中获得相应的值。例如,col2
应该给出值36.57
试试这个:
# Make a Series containing the columns you want to retrieve
s = pd.Series(['col1','col2','col3','col4','col5'])
# Get the list of valid column names
# Notice that you don't have a `col1` column in your sample input
valid = s[s.isin(df.columns)]
df[valid]
结果
col2 col3 col4 col5
0 36.57 35.77 37.56 36z.79
试试这个:
# Make a Series containing the columns you want to retrieve
s = pd.Series(['col1','col2','col3','col4','col5'])
# Get the list of valid column names
# Notice that you don't have a `col1` column in your sample input
valid = s[s.isin(df.columns)]
df[valid]
结果
col2 col3 col4 col5
0 36.57 35.77 37.56 36z.79
假设您的数据帧是 df 你有这个阵列
l = ['col2', 'col3', 'col4', 'col5']
然后您将通过以下方式获得标签的相应值:
[df[label].values[0] for label in l if label in df]
您的示例的输出将是
[36.57, 35.77, 37.56, 36.79]
希望它能帮助您。假设您的数据帧是 df 你有这个阵列
l = ['col2', 'col3', 'col4', 'col5']
然后您将通过以下方式获得标签的相应值:
[df[label].values[0] for label in l if label in df]
您的示例的输出将是
[36.57, 35.77, 37.56, 36.79]
希望它能帮助您。这只是一个直接的查找,带有
df.loc[:,列有列有列的列名].values
。您想要什么输出:熊猫系列、列表、numpy数组。。。?追加.values
将数据帧转换为numpy数组。没错。我也做了同样的事。在发布了这个问题之后,我提出了一个想法:你倒过来说:你不想每次出现一个特定的值时都得到列标题;您希望获得给定列名输入列表的值数组。这只是使用df.loc[:,list_of_col_names].值的直接查找。您想要什么输出:熊猫系列、列表、numpy数组。。。?追加.values
将数据帧转换为numpy数组。没错。我也做了同样的事。在发布了这个问题之后,我提出了一个想法:你倒过来说:你不想每次出现一个特定的值时都得到列标题;您希望获得给定列名输入列表的值数组。