繁体   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