Mir.Emad
Mir.Emad

Reputation: 93

Replacing a column values with another column

I have a data frame of 6 columns that 2 first columns should be plotted as x & y. I want to replace the values of the 6th column with other values and then excluding x, y that have values larger than a threshold like 0.0003-0.002. The effort that I had is below:

import numpy as np
import os
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv('configuration_1000.out', sep="\s+", header=None)

#print(df)

col_5 = df.iloc[:,5]

g = col_5.abs()

g = g*0.00005

#print(g)

df.loc[:,5].replace(g, inplace=True)

#df.head()

selected = df[ (df.loc[:,5] > 0.0003) & (df.loc[:,5] < 0.002) ]

print(selected)

plt.plot(selected[0], selected[1],marker=".")

but when I do this, nothing is gonna changed.

Upvotes: 0

Views: 34

Answers (2)

LevB
LevB

Reputation: 953

You don't need iloc for this, nor do you need to go through the intermediate steps. Just manipulate the column directly.

df[df.columns[5]] = abs(df[df.columns[5]])*0.00005

Upvotes: 1

Mir.Emad
Mir.Emad

Reputation: 93

To solve this problem just need to do this

df.loc[:,5] = g

Upvotes: 0

Related Questions