有一个df,其中,有一列下有一些数据,是多个字符串用指定字符拼接在一起。现在我想把这列拆分开成多条行数据,其他字段复制,代码如下:
import pandas as pd
# 创建示例DataFrame
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data)
# 计算新行的值
new_row = {'A': df['A'].sum(), 'B': df['B'].sum(), 'C': df['C'].sum()}
# 将新行插入DataFrame
df.loc['总计'] = new_row
df['D'] = ['a,2,3,45', 'asdf', 'asdf', 'asdf']
print(df)
# 将a,2,3,45按照英文逗号分隔开,其他字段进行复制
df = df.assign(D=df['D'].str.split(',')).explode('D')
print(df)
原始df:
A B C D
0 1 4 7 a,2,3,45
1 2 5 8 asdf
2 3 6 9 asdf
总计 6 15 24 asdf
目标df:
A B C D
0 1 4 7 a
0 1 4 7 2
0 1 4 7 3
0 1 4 7 45
1 2 5 8 asdf
2 3 6 9 asdf
总计 6 15 24 asdf