附加数据框行时出现 ValueError

ValueError when appending dataframe row

当我尝试查询某些列值并将该行附加到另一个数据框时,我收到一个 ValueError。

假设我们有两个数据帧:

df_a = pd.DataFrame([['a','Y','name1','5Y'],['b','N','name2','10Y'],['c','N','name3','3Y'],['d','Y', 'name4','10Y']], columns=['c1','c2','c3','c4'])

df_b = pd.DataFrame(columns=['c1','c2','c3','c4'])

它们是: df_a:

c1 c2 c3 c4
a Y name1 5Y
b N name2 10Y
c N name3 3Y
d Y name4 10Y

df_b:

c1 c2 c3 c4

我想查询 df_a 的 c2 和 c4 列,以便在 c2=Y 和 c4=10Y 时将该行复制到 df_b。

这是通过使用完成的:

df_b.append(df_a.loc[(df_a['c2'] == 'Y') and (df_a['c4'] == '10Y')])

这个returns: ValueError: Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

尝试df_b.append(df_a.loc[(df_a['c2'] == 'Y') & (df_a['c4'] == '10Y')])