也许这是一个微不足道的问题,但我找不到这个问题的答案: 我有一个包含这些列的数据框:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df.columns
Index(['label', 'num.feature 1', 'num.feature 2', 'num.feature 3',
'num.feature 4', 'num.feature 5',...,'num.feature 30'],
dtype='object')
我想找到一种使用列名称中的索引变量 i 来访问列的方法
for i in range(30):
df['num.feature **i**'].hist(bins=90,range=(0,0.4))
例如打印每列的各种直方图。 有更好的方法吗?预先感谢您
最佳答案
有两种方法:
方法 1 预先提取您感兴趣的特征,并迭代这些特征。 IMO,这更干净,就好像您缺少功能名称一样,它仍然可以工作(即如果您没有num.feature 6
)
features = [i for i in df.columns if i.startswith('num.feature')]
for feature in features:
plt.hist(df[feature], bins=90, range=(0,0.4))
方法 2 即时创建相关功能名称(如果缺少功能名称,您会遇到麻烦)
for i in range(1,31):
plt.hist(df['num.feature '+str(i)])
关于python - 如何使用索引来调用 pandas 数据框的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50350539/