我正在尝试制作数据集某些特定列的条形图:
for kolom_naam in attributen_dataset:
if kolom_naam in categorische_var:
print(kolom_naam)
attributen_dataset.kolom_naam.value_counts().plot(kind='bar')
其中attributen_dataset是一个大数据框,而categorische_var是一个包含attributen_dataset中的列名的列表(列表中的名称是字符串)
我不知道使用'kolom_naam'迭代变量选择列的正确语法。 其余的有效,因为print(kolom_naam)完全按照其说的做。
谢谢!!!!!
答案 0 :(得分:2)
我尝试使用随机值进行完整的模型化。在这里,我使用了categorische_var
来过滤列A
和C
。
让我知道它是否对您有用:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
y = np.random.rand(10,4)
y[:,0]= np.arange(10)
attributen_dataset = pd.DataFrame(y, columns=["X", "A", "B", "C"])
categorische_var=['A', 'C']
for kolom_naam in attributen_dataset:
if kolom_naam in categorische_var:
print(kolom_naam)
#attributen_dataset.kolom_naam.value_counts().plot(kind='bar')
df_new = attributen_dataset[categorische_var]
df_new.plot(kind="bar")
答案 1 :(得分:0)
根据您在旧答案中的评论,我制作了另一个版本。在此版本中,基于categorische_var
中的列循环创建条形图:这是原始数据帧attributen_dataset
的过滤列表。因此,您为所需的每个列创建了单独的条形图。
让我知道它是否有效。
请参见下面的样机:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
y = np.random.rand(10,4)
y[:,0]= np.arange(10)
attributen_dataset = pd.DataFrame(y, columns=["X", "A", "B", "C"])
categorische_var=['A', 'C']
fig, axes = plt.subplots(1,len(categorische_var), figsize=(12,3))
for kolom_naam in attributen_dataset:
for i, kolom_naam in enumerate(categorische_var):
attributen_dataset[kolom_naam].plot(ax=axes[i], kind='bar')