首页 > 解决方案 > 连接列表并删除重复项

问题描述

我有三个电子表格,它们都有一个月/年列。电子表格之间存在一些重叠(即一个涵盖 1998 年至 2015 年,一个涵盖 2012 年至 2020 年)。我想要一个没有重复的所有月份/年份的组合列表。我已经实现了这一点,但我觉得必须有一种更清洁的方式来做到这一点。

数据框有些相似:

价值
1998M01 1`
1998M02 2
import pandas as pd

unemp8315 = pd.read_csv('Unemployment 19832015.csv')
unemp9821 = pd.read_csv('Unemployment 19982021.csv')
unempcovid = pd.read_csv('Unemployment Covid.csv')

print(unemp8315)
print(unemp9821)
print(unempcovid)

monthlist = []

for i in unemp8315['Month']:
    monthlist.append(i)

monthlist2 = []

for b in unemp9821['Month']:
    monthlist2.append(b)

monthlist3 = []

for c in unempcovid['Month']:
    monthlist3.append(c)

full_month_list = monthlist + monthlist2 + monthlist3

fullpd = pd.DataFrame(data=full_month_list)

clean_month_list = fullpd.drop_duplicates()

print(clean_month_list)

标签: pythonpandas

解决方案


你可以这样做:

files = ['Unemployment 19832015.csv',
         'Unemployment 19982021.csv',
         'Unemployment Covid.csv']

dfs = [pd.read_csv(file)["Month"] for file in files]

clean_month_list = pd.concat(dfs).drop_duplicates()

推荐阅读