【发布时间】:2019-12-12 10:05:14
【问题描述】:
我这周开始使用 pandas,如果我问了一个非常明显的问题,请原谅我。我试图让 pandas 循环遍历我的 Excel wb 中的所有工作表,以通过 value_counts 提取特定列 F 列的出现次数。
之前我使用了 value_counts 并输入了工作表的特定名称,它可以提取该 1 个工作表的值计数。但是,当我将工作表名称替换为 df1 时,它就停止工作了。
df = pd.ExcelFile("filepath.xlsx")
for df1 in df.sheet_names:
df2 = pd.read_excel("filepath.xlsx", sheet_name=df1, usecols="F")
df2.dropna(inplace=False)
print (df2.value_counts())
我希望输出是唯一值及其出现次数,但它会返回:
AttributeError: 'DataFrame' 对象没有属性 'value_counts'
有人可以帮帮我吗?
【问题讨论】:
-
documentation 为
Series提到了此功能。如果您想为多列获取它,请使用apply。 Some discussions about -
@Trenton_M 嗨!此解决方案是否适用于工作簿中所有 Excel 工作表中的特定列?
-
在循环中用
df2.apply(pd.Series.value_counts)替换df2.value_counts() -
@Trenton_M tks man!