我有一个包含以下列的pandas数据框:“user”、“text1”、“text2”和“time”。我想按用户分组,并为每个用户取文本对应的最大时间。我尝试通过以下代码(使用first
)来实现这一点:
import pandas
df = pandas.DataFrame({'user':['f','f','s'], 'text1':['111','222','333'], 'text2':[11,22,33], 'time':[1,2,3]}, columns=['user', 'text1', 'text2', 'time'])
print df
print '----------------'
df = df.sort('time', ascending = False)
gr = df.groupby('user', as_index=False).first()
print gr
因此,我得出以下结论:
user text1 text2 time
0 f 111 11 1
1 f 222 22 2
2 s 333 33 3
----------------
user text2 time
0 f 22 2
1 s 33 3
我们可以看到,它适用于text2
包含整数的列,但不适用于text1
包含字符串的列。为什么会发生这种情况,如何解决这个问题?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐