唯一值Excel列,行中没有丢失的信息-Python

时间:2018-07-21 15:25:38

标签: python excel pandas dataframe multiple-columns

当前正在自学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)

在此先感谢您的帮助。

2 个答案:

答案 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