簡體   English   中英

如何使用Pandas更改CSV文件的列值

[英]How can i change the column values of csv file using with pandas

在我的程序中,我有4列csv文件,其中x,y值具有0,0值,我想將這些0,0值更改為所需值,而不更改其他x,y值。 您能幫我如何更改這些值嗎?

我嘗試了給定的代碼,但是x,y值的其他值也在更改,因為在這里我為整個x添加了3個值,但是我不想更改剩余值,我想將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 在此處輸入圖片說明

您可以選擇零項的子幀:

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

要將數據幀寫入名為file_name的csv文件,請使用to_csv

file_name = 'file.csv'   
df.to_csv(file_name)

您可以使用df.loc方法,如下所示:

df.loc[(df['X'] == 0) & (df['Y'] ==0) , ['X', 'Y'] ] =  3,4

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

您可以使用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)

輸入: 輸入數據

輸出: 輸出數據

希望這可以幫助。

謝謝,

羅漢·霍達卡(Rohan Hodarkar)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM