Python-熊猫-过滤后的值的数据框操作

时间:2020-03-29 22:14:48

标签: python pandas data-manipulation

我正在为一个相对简单的问题而苦苦挣扎。

下面是数据框中两行的示例。

df_example.iloc[0]=
date: 24/03/2020
time: 10:10:10
currency: GBX
price: 100

df_example.iloc[1]=
date: 24/03/2020
time: 11:10:10
currency: EUR
price: 20

我想简单地在第一行中划分GBX最后价格值,但是不影响数据框内的第二行。我尝试过的方法将第二行的价格转换为NaN或python会抛出许多我想避免的警报/警告。

我最终得到的方法是一个For循环,该循环遍历每一行,并将所有GBX转换为其主要GBP,并使所有EUR值保持不变,而没有NaN值。但是,这需要非常长的时间才能遍历每一行。

方法: 工作:

for i in range(len(df.index)-1):
    if df['currency'].iloc[i] == 'GBX':
        df['price'].iloc[i] = float(df['price'].iloc[i]) / 100
        #print(df['Last Price'].iloc[i])
    else:
        df['price'].iloc[i] = float((df['price'].iloc[i]))
        #print(df['Last Price'].iloc[i])

不起作用: 1. df['Last Price'] = df[df['Currency']==GBX]['Last Price'].div(100) 2. df['Last Price'] = df[df['Currency']==GBX]['Last Price'].apply(lambda x: x/100) 3.创建两个不同的数据框并尝试通过python索引警告进行合并

如果您需要任何其他信息,请告诉我。

谢谢。

0 个答案:

没有答案