【发布时间】:2020-12-25 13:21:10
【问题描述】:
我有一个包含两列的数据框。列是 Word 和 Tag。 df 如下所示:
Word Tag
0 DNA O
1 , O
2 adalah O
3 ) X
4 , Y
5 ikatan P
6 10 O
7 , O
8 4 Q
9 pasangan Q
10 abad A
11 20 B
12 , C
13 bersamaan D
我想将一些包含逗号的行包含数字 , number+,+number 合并到一行。所以输出应该如下:
Word Tag
0 DNA O
1 , O
2 adalah O
3 ) X
4 , Y
5 ikatan P
6 10,4 O
7 pasangan Q
8 abad A
9 20 B
10 , C
11 bersamaan D
有什么想法吗?提前致谢。
我试过了:
coma = df['Word'].shift().ne(',').mul(df['Word'].ne(',')).cumsum()
new_df = df.groupby(coma, as_index=False).agg({'Word' : ''.join, 'Tag' : 'first'})
print(new_df)
但它也结合了单词和逗号,同时我只想结合数字和逗号
【问题讨论】:
-
请提供一些您尝试编写的代码以及您在其中遇到的问题
-
您希望将所有数字/逗号合并成一行,还是只合并带有数字/逗号的连续行?
-
创建dataframe之前最好先修改数据
-
@ShivamJha 我已经放了代码
-
@DerekO 仅连续行与数字/逗号/数字要合并
标签: python pandas numpy dataframe merge