是否可以应用对pandas中的连续行进行操作的函数,并根据输出聚合数据帧?
示例:
我想在此数据框的连接列中应用正则表达式:
List<SomeObject> list = new List<SomeObject>();
MyList<SomeObject> myList = list;
a = pd.DataFrame([['a', 0],['b',0],['c',0], [' ', 0], ['1', 1], ['2', 1], ['3',1], [' ', 0], ['r',0], ['.', 0], [' ', 0], ['a',0]])
现在我想在连接的文本数据上使用 0 1
0 a 0
1 b 0
2 c 0
3 0
4 1 1
5 2 1
6 3 1
7 0
8 r 0
9 . 0
10 0
11 a 0
组合第0列:
re.split()
给出了这个:
a = pd.DataFrame(re.split(r'([\s\.])',''.join(a[0])))
但是,它会丢失其他列。
如何在执行此操作时维护DataFrame?
此处的其他列可以作为连接字符串中的平均值或最常见元素。为了提供最终输出:
0
0 abc
1
2 123
3
4 r
5 .
6
7
8 a
此类分组是否有良好的pandas功能?
答案 0 :(得分:2)
您的解决方案有效。唯一的故障是您将正则表达式的输出分配给a而不是[0]
a[0] = pd.DataFrame(re.split(r'([\s\.])',''.join(a[0])))
a.dropna()
会给你
0 1
0 abc 0
1 0
2 123 0
3 0
4 r 1
5 . 1
6 1
7 0
8 a 0