基于另一个DataFram的DataFrame的新列

2024-04-18 22:45:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将“文本”列与B值最接近的第一个数据帧相结合<;=价值。数据帧长度不相等

example

a = np.array(range(10, 35, 5))
b = np.array(range(0, 30, 5)) + 2
b_text = [random.choice(string.ascii_letters) for i in range(len(b))]
df1 = pd.DataFrame(a, columns=['A'])
df2 = pd.DataFrame(list(zip(b, b_text)), columns=['B', 'text'])

Tags: columns数据text文本ltdataframestringnp
1条回答
网友
1楼 · 发布于 2024-04-18 22:45:16

我认为需要:

#if problem with different dtypes
#df1['A'] = df1['A'].astype(np.int64)
#df2['B'] = df2['B'].astype(np.int64)

df = pd.merge_asof(df1, df2, left_on='A', right_on='B')
print (df)
    A   B text
0  10   7    R
1  15  12    y
2  20  17    i
3  25  22    a
4  30  27    G

相关问题 更多 >