大家好,今天来解决一个具体的问题。之前看到Amily的一篇文章,用Excel快速实现分列转到行的操做。
数据源大致是这样的:
数据源已经构造好,咱们开干!
import pandas as pd
df = pd.read_excel("分列转到行.xlsx",header=None)
df.columns = ["年级","姓名"]
df
结果如下:
整个代码很简单,不信你看!
df["新列"] = df["姓名"].str.split(";")
df["新列"]
结果如下:
最后再上一个爆炸函数,直接拿下!
df1 = df.explode("新列")
df1
部分截图如下:
对于上述得到的df1,你又该如何还原这份数据呢?
def func(df):
return ','.join(df.values) #这里改为什么分隔符,随你自己!
df2 = df1.groupby(by='年级').agg(func).reset_index()
df2
结果如下:
哈哈,这个操作是不是很不错?赶紧下去玩玩儿吧!