Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 3.x 如何将一个dataframe列与另一个dataframe列进行比较并创建列_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 3.x 如何将一个dataframe列与另一个dataframe列进行比较并创建列

Python 3.x 如何将一个dataframe列与另一个dataframe列进行比较并创建列,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有两个数据帧df1和df2。这是一个小样本 Days 4 6 9 1 4 我的df2是 Day1 Day2 Alphabets 2 5 abc 4 7 bcd 8 10 ghi 10 12 abc 我想更改我的df1,以便在df1中的日期介于第1天和第2天之间时,它具有来自df2的新列字母表。比如: if df1['Days'] in between df2['Day1'] and df2['Day2']: df

我有两个数据帧df1和df2。这是一个小样本

Days 
4
6
9
1
4
我的df2是

Day1  Day2 Alphabets
2       5    abc
4       7    bcd
8       10   ghi
10      12   abc
我想更改我的df1,以便在df1中的日期介于第1天和第2天之间时,它具有来自df2的新列字母表。比如:

if df1['Days'] in between df2['Day1'] and df2['Day2']:
    df1['Alphabets']=df2['Alphabets']
结果是:

Days Alphabets
4     abc
6     bcd
9     ghi

etc.
我尝试了循环,它甚至花费了很多时间来运行。还有其他优雅的方式吗


提前感谢

我将使用
numpy
广播

s1=df2.Day1.values
s2=df2.Day2.values
s=df1.Days.values[:,None]
df1['V']=((s-s1>0)&(s-s2<0)).dot(df2.Alphabets)
df1
Out[277]: 
   Days    V
0     4  abc
1     6  bcd
2     9  ghi
3     1     
4     4  abc
s1=df2.Day1.values
s2=df2.Day2.0值
s=df1.Days.values[:,无]
df1['V']=((s-s1>0)和(s-s2)