使用 pandas 提取 excel 文件中所有列的所有唯一值
Using pandas to extract all unique values across all columns in excel file
我是 pandas/python 的新手。我正在尝试提取一个 excel 文件并输出一个 excel 文件,其中包含每列中的所有唯一值。
我可以使用以下方法轻松打印值:
for col in df:
print(df[col].unique())
我的问题是:如何才能将这些结果发送到 excel 文件,而不仅仅是打印它们。提前谢谢你。
使用dictionary comprehension创建新的独特框架,然后创建一个新文件。只要数组长度相同,就可以很容易地使用字典来创建 DataFrame。为了确保使用 unique
时数组的长度相同,我们只需将数组转换为 pd.Series
您没有预期的输出,所以我假设您只想在一个文件中包含所有唯一值,nans
用于缺失值。
pd.DataFrame({col: pd.Series(df[col].unique())
for col in df.columns}).to_excel('some_file_name.xlsx', index=False)
这是一个工作示例
# sample df
import pandas as pd
df = pd.DataFrame([[1,2,3,1,2],
list('abccd'),
[1]*5]).T
0 1 2
0 1 a 1
1 2 b 1
2 3 c 1
3 1 c 1
4 2 d 1
输出
pd.DataFrame({col: pd.Series(df[col].unique())
for col in df.columns})
0 1 2
0 1 a 1
1 2 b NaN
2 3 c NaN
3 NaN d NaN
我是 pandas/python 的新手。我正在尝试提取一个 excel 文件并输出一个 excel 文件,其中包含每列中的所有唯一值。
我可以使用以下方法轻松打印值:
for col in df:
print(df[col].unique())
我的问题是:如何才能将这些结果发送到 excel 文件,而不仅仅是打印它们。提前谢谢你。
使用dictionary comprehension创建新的独特框架,然后创建一个新文件。只要数组长度相同,就可以很容易地使用字典来创建 DataFrame。为了确保使用 unique
时数组的长度相同,我们只需将数组转换为 pd.Series
您没有预期的输出,所以我假设您只想在一个文件中包含所有唯一值,nans
用于缺失值。
pd.DataFrame({col: pd.Series(df[col].unique())
for col in df.columns}).to_excel('some_file_name.xlsx', index=False)
这是一个工作示例
# sample df
import pandas as pd
df = pd.DataFrame([[1,2,3,1,2],
list('abccd'),
[1]*5]).T
0 1 2
0 1 a 1
1 2 b 1
2 3 c 1
3 1 c 1
4 2 d 1
输出
pd.DataFrame({col: pd.Series(df[col].unique())
for col in df.columns})
0 1 2
0 1 a 1
1 2 b NaN
2 3 c NaN
3 NaN d NaN