我有pandas dataframe一列文本字符串包含逗号分隔值.我想拆分每个CSV字段并为每个条目创建一个新行(假设CSV是干净的,只需要在','上拆分).例如,a应该成为b:
In [7]: a
Out[7]:
var1 var2
0 a,b,c 1
1 d,e,f 2
In [8]: b
Out[8]:
var1 var2
0 a 1
1 b 1
2 c 1
3 d 2
4 e 2
5 f 2
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了各种简单的函数,但是.apply当在轴上使用时,该方法似乎只接受一行作为返回值,而我无法.transform工作.我们欢迎所有的建议!
示例数据:
from pandas import DataFrame
import numpy as np
a = DataFrame([{'var1': 'a,b,c', 'var2': 1},
{'var1': 'd,e,f', 'var2': 2}])
b = DataFrame([{'var1': 'a', 'var2': 1},
{'var1': 'b', 'var2': 1},
{'var1': 'c', …Run Code Online (Sandbox Code Playgroud) 我有以下DataFrame,其中一列是一个对象(列表类型单元格):
df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]})
df
Out[458]:
A B
0 1 [1, 2]
1 2 [1, 2]
Run Code Online (Sandbox Code Playgroud)
我的预期输出是:
A B
0 1 1
1 1 2
3 2 1
4 2 2
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能做到这一点?
相关问题
pandas:当单元格内容是列表时,为列表中的每个元素创建一行
好的问题和答案,但只处理一列列表(在我的回答中,自我修复功能将适用于多列,也接受的答案是使用最耗时apply,不推荐,检查更多信息我应该什么时候想要在我的代码中使用pandas apply()?)
这是一个自我回答的QnA,旨在指导用户应用的缺陷和好处.
我已经看到很多关于Stack Overflow问题的答案涉及使用apply.我也看到用户评论他们说" apply很慢",应该避免".
我已经阅读了很多关于性能主题的文章,解释apply很慢.我还在文档中看到了一个关于如何apply简单地传递UDF的便利函数的免责声明(现在似乎无法找到).因此,普遍的共识是,apply如果可能,应该避免.但是,这引发了以下问题:
apply是如此糟糕,那为什么它在API中呢?apply- 免费?apply是不错的(比其他可能的解决方案更好)?假设我有以下Pandas Dataframe:
df = pd.DataFrame({"a" : [1,2,3], "b" : [[1,2],[2,3,4],[5]]})
a b
0 1 [1, 2]
1 2 [2, 3, 4]
2 3 [5]
Run Code Online (Sandbox Code Playgroud)
我如何"取消堆叠""b"列中的列表以将其转换为数据帧:
a b
0 1 1
1 1 2
2 2 2
3 2 3
4 2 4
5 3 5
Run Code Online (Sandbox Code Playgroud) 我的服务器运行许多长时间运行的笔记本电脑,我想监控笔记本电脑的内存.
有没有办法在pid或进程名称和笔记本之间进行匹配?
我在熊猫中有一个像这样的数据框:
id info
1 [1,2]
2 [3]
3 []
Run Code Online (Sandbox Code Playgroud)
我想把它分成不同的行,如下所示:
id info
1 1
1 2
2 3
3 NaN
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?