【发布时间】:2020-01-22 01:07:14
【问题描述】:
我有一个如下所示的数据框,
df = pd.DataFrame(np.array([['a', 'a', 'b', 'b'], [1, 1, 2, 2],
['k', 'l', 'm', 'n']]).T,
columns=['a', 'b', 'c'])
df = df.groupby(['a'])['b', 'c'].agg(','.join)
print(df)
b c
a
a 1,1 k,l
b 2,2 m,n
但是当我将 None 值添加到原始数据帧时,相同的 agg func 返回不同的结果,即。
df = pd.DataFrame(np.array([['a', 'a', 'b', 'b'], [1, 1, 2, 2],
['k', 'l', 'm', None]]).T,
columns=['a', 'b', 'c'])
df = df.groupby(['a'])['b', 'c'].agg(','.join)
print(df)
b c
a
a a,b,c a,b,c
b a,b,c a,b,c
对于第二个数据帧,即在一行中没有值,我正在寻找低于所需输出的这个:
b c
a
a 1,1 k,l
b 2,2 m
【问题讨论】:
-
尝试用 np.nan 或 ' ' 替换 None。 Pandas 不适用于 None。
-
能否插入
''而不是None?当使用''超过None时,结果是m, -
@jasonwong 我试过了,但仍然没有得到我想要的输出。
-
@user_12 我试过了请准确地分享你改变了什么,发生了什么。
-
您能否首先解释一下该操作的目的是什么?这似乎有些不寻常。