Как я могу изменить значения столбца CSV-файла, используя с пандами - PullRequest
0 голосов
/ 10 октября 2018

Здесь, в моей программе, у меня есть 4 столбца csv-файла, в которых значения x, y имеют 0,0 значения, и я хочу изменить эти 0,0 значения на желаемые без изменения других значений x, y.Не могли бы вы помочь мне, как изменить эти значения?

Я пробовал этот код, но другие значения значений x, y также меняются, потому что здесь я добавляю 3 значения для целого x, но я не хочуизменить оставшиеся значения Я хочу изменить значения 0,0 x, y только на мои нужные значения, так что вы можете, пожалуйста, направить меня.Заранее спасибо

import pandas as pd

df = pd.read_csv("Tunnel.csv",delimiter= ',')
df['X'] = df['X'] + 3
df['Y'] = df['Y'] + 4

print(df)

Это мой csv_file enter image description here

Ответы [ 4 ]

0 голосов
/ 10 октября 2018

Вы можете использовать функцию apply для установки этих значений.Ниже приведен код:

import pandas as pd

df=pd.read_csv('t.csv',header=None, names=['x','y','depth','color'])

dfc=df.copy()

dfc['x']=dfc['x'].apply(lambda t: 1 if t==0 else t)
dfc['y']=dfc['y'].apply(lambda t: 1 if t==0 else t)

Вход: Input Data

Выход: Output Data

Надеюсь, что этопомогает.

Спасибо,

Рохан Ходаркар

0 голосов
/ 10 октября 2018

Вы можете использовать метод df.loc следующим образом:

df.loc[(df['X'] == 0) & (df['Y'] ==0) , ['X', 'Y'] ] =  3,4
0 голосов
/ 10 октября 2018

другой способ использования с df.iteritems:

>>> df = pd.DataFrame({'a': [0, 0, 2], 'b': [ 0, 2, 1]})
>>> df
   a  b
0  0  0
1  0  2
2  2  1
>>> for key, val in df.iteritems():
...     val[val == 0] = 3
...
>>> df
   a  b
0  3  3
1  3  2
2  2  1
0 голосов
/ 10 октября 2018

Вы можете выбрать субкадры с нулевыми записями:

df[df['X'] == 0] += 3
df[df['Y'] == 0] += 4

Чтобы записать ваш фрейм данных в CSV-файл с именем file_name, используйте to_csv

file_name = 'file.csv'   
df.to_csv(file_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...