当前正在自学Python,并遇到了一些问题。我的挑战要求我计算excel电子表格的一列中唯一值的数量,其中行中没有缺失值。这是到目前为止的内容,但似乎无法正常工作:
import xlrd
import pandas as pd
workbook = xlrd.open_workbook("*name of excel spreadsheet*")
worksheet = workbook.sheet_by_name("*name of specific sheet*")
pd.value_counts(df.*name of specific column*)
s = pd.value_counts(df.*name of specific column*)
s1 = pd.Series({'nunique': len(s), 'unique values': s.index.tolist()})
s.append(s1)
print(s)
在此先感谢您的帮助。
答案 0 :(得分:0)
使用内置的功能在各列中找到唯一的内容:
与您共享示例:
import pandas as pd
df=pd.DataFrame(columns=["a","b"])
df["a"]=[1,3,3,3,4]
df["b"]=[1,2,2,3,4]
print(df["a"].unique())
将给出以下结果:
[1 3 4]
因此,您可以使用以下方式将其作为列表存储到变量中:
l_of_unique_vals=df["a"].unique()
找到它的长度或根据您的喜好进行任何操作
df = pd.read_excel("nameoffile.xlsx", sheet_name=name_of_sheet_you_are_loading)
#in the line above we are reading the file in a pandas dataframe and giving it a name df
df["column you want to find vals from"].unique()
答案 1 :(得分:0)
首先,您可以使用 Pandas read_exel
,然后使用unique
,例如@Inder建议。
import pandas as pd
df = pd.read_exel('name_of_your_file.xlsx')
print(df['columns'].unique())
查看更多here。