我有这样的数据帧:
CreationDate
2013-12-22 15:25:02 [ubuntu, mac-osx, syslinux]
2009-12-14 14:29:32 [ubuntu, mod-rewrite, laconica, apache-2.2]
2013-12-22 15:42:00 [ubuntu, nat, squid, mikrotik]
Run Code Online (Sandbox Code Playgroud)
我是CreationDate列中列表的计算长度,并创建一个新Length列,如下所示:
df['Length'] = df.CreationDate.apply(lambda x: len(x))
Run Code Online (Sandbox Code Playgroud)
这给了我这个:
CreationDate Length
2013-12-22 15:25:02 [ubuntu, mac-osx, syslinux] 3
2009-12-14 14:29:32 [ubuntu, mod-rewrite, laconica, apache-2.2] 4
2013-12-22 15:42:00 [ubuntu, nat, squid, mikrotik] 4
Run Code Online (Sandbox Code Playgroud)
是否有更多的pythonic方式来做到这一点?
我正在尝试实现代码
sort_order = {
'Documentary':0,
'Film-Noir':1,
'Biography':2,
'History':3,
'War':4,
'News':5,
'Animation':6,
'Musical':7,
'Music':8,
'Drama':9
}
df.sort_values(by=['genre'], key=lambda x: x.map(sort_order))
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
TypeError: sort_values() got an unexpected keyword argument 'key'
Run Code Online (Sandbox Code Playgroud)
我下载了最新版本的 Pandas 来尝试使用 conda update pandas 修复此问题,但这并没有改变任何内容。我知道出了问题,因为他们的页面显示应该识别密钥。
任何帮助将不胜感激。
使用Python。我有一个包含三列的数据框:
Author | Title | Reviews
Run Code Online (Sandbox Code Playgroud)
我想按“评论”列中字符串的长度排序。
如果我做
df.sort_values('Review', ascending = False)
Run Code Online (Sandbox Code Playgroud)
它以字母'开头,按字母顺序排序z。
如何获取“评论”列中字符串的长度排序?