我的直方图中有四个条形,代表我文件中字母,数字,特殊字符和alphnumeric的频率。
我做了以下工作来获得每个家庭的频率:
def group_data():
def find_group(val):
val = str(val)
val = val.lower()
if val.isalpha():
return 'alphabet'
elif val.isdigit():
return 'digit'
elif val.isalnum and any(c.isalpha() for c in val) and any(c.isdigit() for c in val):
return 'alphanum'
else:
return 'spec-char'
df = pd.read_csv('file1.csv', sep=',')
df = df.astype(str)
df.manual_raw_value = df.manual_raw_value.str.lower()
df.manual_raw_value.apply(find_group)
df.manual_raw_value.apply(find_group).value_counts().plot(kind='bar')
我得到了以下内容
first file and second file
现在我想得到一个堆积的条,所以我做了以下
normal = df.manual_raw_value.apply(find_group).value_counts()
aug=df2.manual_raw_value.apply(find_group).value_counts()
sub_df = pd.concat([normal, aug], keys=["alphabet", "digit","spec-char","alpha-num"]).unstack()
sub_df.plot(kind='bar', stacked=True, rot=1)
plt.show()
然而,我得到了错误的情节
的红色条aug=df2.manual_raw_value.apply(find_group).value_counts()
和蓝色条
normal = df.manual_raw_value.apply(find_group).value_counts()