Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫多次从数据帧添加值_Python_Pandas - Fatal编程技术网

Python 熊猫多次从数据帧添加值

Python 熊猫多次从数据帧添加值,python,pandas,Python,Pandas,下面的内容在SQL上很简单,但我不知道如何在Pandas上实现 我的意见是: import pandas as p symb = p.DataFrame(['a', 'b', 'c'], columns=['symb']) fld = p.DataFrame(['field1', 'field2', 'field3'], columns=['fld']) 我希望能够获得以下数据帧作为输出: symb fld a field1 a field2 a field3

下面的内容在SQL上很简单,但我不知道如何在Pandas上实现

我的意见是:

import pandas as p    
symb = p.DataFrame(['a', 'b', 'c'], columns=['symb'])
fld = p.DataFrame(['field1', 'field2', 'field3'], columns=['fld'])
我希望能够获得以下数据帧作为输出:

symb  fld
a     field1
a     field2
a     field3
b     field1
b     field2
b     field3
c     field1
c     field2
c     field3
你知道如何得到这个结果吗


谢谢

首先在两个
数据帧中创建具有相同值的新列。然后由他们使用,然后是帮助器列:

symb['one'] = 1
fld['one'] = 1
print pd.merge(symb, fld, on='one').drop('one', axis=1)
  symb     fld
0    a  field1
1    a  field2
2    a  field3
3    b  field1
4    b  field2
5    b  field3
6    c  field1
7    c  field2
8    c  field3
解决方案
只有一条评论。。。你们知道这叫什么吗?我甚至无法用谷歌搜索如何做到这一点,因为我不知道这个操作是如何定义的(join、merge和其他将链接到显示一般说明的页面)。这可能有助于未来用户找到此页面。我认为它被称为
笛卡尔积
交叉连接
,而此代码可能会回答此问题,提供有关此代码为什么和/或如何回答此问题的附加上下文,从而提高其长期价值。
pd.DataFrame(index=symb.symb, columns=fld.fld).fillna(0).stack().reset_index()[['symb', 'fld']]