Pandas - 根据新列中的值复制数据框
Pandas - copy dataframe base on values in a new column
假设我有这个简单的 df:
A B
0 1 2
1 3 4
现在我想添加一个新列,C
,获取值,比方说 ['Orange','Apple'],
我想复制整个 df,一次用于 'Orange',一次用于 'Apple',
这样我的最终结果将如下所示:
A B C
0 1 2 Orange
1 3 4 Orange
3 1 2 Apple
4 3 4 Apple
它们是否是 pandas 中的内置单行代码,允许我这样做?
我目前正在使用 for 循环,并附加结果...
如有任何帮助,我们将不胜感激!
在你的情况下尝试 merge
和 cross
m = pd.DataFrame({'C':['Orange','Apple']})
df.merge(m,how='cross')
Out[151]:
A B C
0 1 2 Orange
1 1 2 Apple
2 3 4 Orange
3 3 4 Apple
假设我有这个简单的 df:
A B
0 1 2
1 3 4
现在我想添加一个新列,C
,获取值,比方说 ['Orange','Apple'],
我想复制整个 df,一次用于 'Orange',一次用于 'Apple',
这样我的最终结果将如下所示:
A B C
0 1 2 Orange
1 3 4 Orange
3 1 2 Apple
4 3 4 Apple
它们是否是 pandas 中的内置单行代码,允许我这样做? 我目前正在使用 for 循环,并附加结果...
如有任何帮助,我们将不胜感激!
在你的情况下尝试 merge
和 cross
m = pd.DataFrame({'C':['Orange','Apple']})
df.merge(m,how='cross')
Out[151]:
A B C
0 1 2 Orange
1 1 2 Apple
2 3 4 Orange
3 3 4 Apple