【发布时间】:2022-01-12 19:19:33
【问题描述】:
我有两个文件的列长度不同,如下所示:
df2:
N_Machine x y z
0 CB-32 90.42 910.29 62.68
1 CB-27 985.65 995.54 669.62
2 CB-18 852.92 952.51 525.60
3 CB-43 950.92 906.64 618.59
df:
Name Number
0 CB-15 12.55.47
1 CB-32 12.55.21
2 CB-91 12.55.75
3 CB-07 12.55.13
4 CB-22 12.55.14
5 CB-16 12.55.52
6 CB-43 12.55.49
7 CB-24 12.55.55
8 CB-17 12.55.31
9 CB-32 12.55.33
10 CB-38 12.55.19
11 CB-27 12.55.62
12 CB-51 12.55.23
13 CB-14 12.55.39
14 CB-31 12.55.65
15 CB-41 12.55.62
16 CB-20 12.55.70
17 CB-18 12.55.26
18 CB-10 12.55.44
我一直在做的是:尝试比较列 df['Name'] 和 df2['N_ Machine']。如果它们相等,则 df2['N_ Machine'] 将从相应行接收 df['Number'] 列的值。
例如,df2['N_Machine'] 的第 [0] 行与第 [1] 行中的 df['Number] 匹配。然后 df2['N_Machine'] 应该从 df['Number] 接收值'12.55.21'。因此 df2 的 [0] 行将更改为:
df:
N_Machine x y z
0 12.55.21 90.42 910.29 62.68
我的代码如下。我的问题是:比较列后,df2['Machine'] 正在接收 df['Number'] 的第一个值,而不是匹配行中的 df['Number'] 值,我该如何解决这个问题?
import pandas as pd
import pandas
df = pandas.read_excel('Part_Dat.xlsx', engine='openpyxl')
df2 = pd.read_csv("Data_Aver_Coord.csv")
if [df['Name'].isin(df2['N_Machine'])]:
df2['N_Machine']=df['Number']`
【问题讨论】:
标签: python pandas dataframe numpy compare