我有一个大型数据框,这是Dataframe的示例部分。 想要交换马斯喀特和上海的价值观。
Object loginResult = CompletableFuture.supplyAsync(() -> somemethodForLogin())
.get(8, TimeUnit.SECONDS);
//Just change the return types accordingly.
输出:
df =
City Score
Istanbul 6.0749
2.23607 Muscat
Prague 4.38576
1.85958 Shanghai
Istanbul 6.0749
Singapore 5.17054
我很困惑,如何在迭代数据框后应用条件,还有其他选择吗?
答案 0 :(得分:3)
将to_numeric
与notna
一起用于布尔掩码,然后按loc
进行交换:
m = pd.to_numeric(df['City'], errors='coerce').notna()
#oldier versions of pandas
#m = pd.to_numeric(df['City'], errors='coerce').notnull()
df.loc[m,['City','Score']] = df.loc[m,['Score','City']].values
print (df)
City Score
0 Istanbul 6.0749
1 Muscat 2.23607
2 Prague 4.38576
3 Shanghai 1.85958
4 Istanbul 6.0749
5 Singapore 5.17054
答案 1 :(得分:2)
您可以使用:
my-cntnr:12