我有一个数据框,其中包含多列包含列表,每行中列表的长度不同:
tweetid tweet_date user_mentions hashtags
00112 11-02-2014 [] []
00113 11-02-2014 [00113] [obama, trump]
00114 30-07-2015 [00114, 00115] [hillary, trump, sanders]
00115 30-07-2015 [] []
Run Code Online (Sandbox Code Playgroud)
数据帧是三个不同数据帧的连续,我不确定列表中的项是否具有相同的dtype.例如,在user_mentions列中,有时数据如下:
[00114, 00115]
Run Code Online (Sandbox Code Playgroud)
但有时是这样的:
['00114','00115']
Run Code Online (Sandbox Code Playgroud)
如何设置列表中项目的dtype?
Pandas DataFrames并非真正设计为将列表作为行/列值,因此这就是您遇到困难的原因.你能做到的
python3.x:
df['user_mentions'].apply(lambda x: list(map(int, x)))
Run Code Online (Sandbox Code Playgroud)
python2.x:
df['user_mentions'].apply(lambda x: map(int, x))
Run Code Online (Sandbox Code Playgroud)
在python3中,当映射一个map对象时,你必须转换为list,在python2中这不会发生,所以你没有明确地将它称为列表.
在上面的lambda中,x是你的行list,你将值映射到int.
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |