第一个筛选列依据
filter
,转换、展平值并创建新的
DataFrame
a = df.filter(like='name').values.T.ravel()
b = df.filter(like='country').values.T.ravel()
df = pd.DataFrame({'name':a, 'country':b}, columns=['name','country'])
print (df)
name country
0 A GER
1 C GER
2 D GER
3 E GER
4 B USA
5 E GER
6 Y AUS
7 A USA
另一个具有未记录函数的解决方案
lreshape
:
df = pd.lreshape(df, {'name':['name1','name2'],
'country':['country1','country2']})
print (df)
name country
0 A GER
1 C GER
2 D GER
3 E GER
4 B USA
5 E GER
6 Y AUS
7 A USA
drop_duplicates
:
df = df.drop_duplicates()
print (df)
name country
0 A GER
1 C GER
2 D GER
3 E GER
4 B USA
6 Y AUS
7 A USA