# 解决实际问题:一个字段包含多个值,怎样将这个值拆分成多行,然后实现统计:
import pandas as pd
# 实验数据:
data = pd.DataFrame({ 'Country':['China','American','Japan'],
'City': ['shanghai|Shenzhen|beijing','New York|shanghai|Shenzhen|beijing | Texas','Tokyo|Osaka'],
'GDP': ['88,89,43','123,45,46,99,123','123,63,24']
})
data
def row_to_rows(data,col):
'''一个电影有多个分类、一个人有多个喜好,需要按分类、喜好做统计
'''
data['%ss'%(col)] = data[col].map(lambda x:x.split("|"))
data_new = data.explode('Citys')
# 绘图
%matplotlib inline
data_new['%ss'%(col)].value_counts().plot.bar()
return data_new
row_to_rows(data,'City')