大家好,我在使用pandas python库时遇到了一些问题。基本上我在读csv 熊猫文件,并希望删除重复项。我已经尝试了一切,问题仍然存在。
import sqlite3
import pandas as pd
import numpy
connection = sqlite3.connect("test.db")
## pandas dataframe
dataframe = pd.read_csv('Countries.csv')
##dataframe.head(3)
countries = dataframe.loc[:, ['Retailer country', 'Continent']]
countries.head(6)
Retailer country Continent
-----------------------------
0 United States North America
1 Canada North America
2 Japan Asia
3 Italy Europe
4 Canada North America
5 United States North America
6 France Europe
我希望能够根据来自的列删除重复的值 上面的一个数据框,这样我就可以从每个国家和大陆获得像这样的独特价值 这样所需的输出将是:
Retailer country Continent
-----------------------------
0 United States North America
1 Canada North America
2 Japan Asia
3 Italy Europe
4 France Europe
我尝试了其中提到的一些方法:Using pandas for duplicate values,环顾四周,意识到可以使用df.drop_duplicates()函数,但是当我使用下面的代码和df.head(3)函数时,它将显示只有一行。我该怎么做才能获得那些唯一的行并最终遍历它们?
countries.head(4)
country = countries['Retailer country']
continent = countries['Continent']
df = pd.DataFrame({'a':[country], 'b':[continent]})
df.head(3)
答案 0 :(得分:1)
似乎一个简单的分组方式可以解决您的问题。
import pandas as pd
na = 'North America'
a = 'Asia'
e = 'Europe'
df = pd.DataFrame({'Retailer': [0, 1, 2, 3, 4, 5, 6],
'country': ['Unitied States', 'Canada', 'Japan', 'Italy', 'Canada', 'Unitied States', 'France'],
'continent': [na, na, a, e, na, na, e]})
df.groupby(['country', 'continent']).agg('count').reset_index()
Retailer
列现在显示发生country
,continent
组合的次数。您可以通过df = df [[''country','continent']]删除它。