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

时间:2018-10-10 09:48:13

标签: python 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 enter image description here

4 个答案:

答案 0 :(得分:0)

您可以选择零项的子帧:

showPage = function (page) {
                $(".portlet ").hide();
                $(".portlet ").each(function (n) {
                    if (n >= pageSize * (page - 1) && n < pageSize * page)
                        $(this).show();
                });
            }

要将数据帧写入名为df[df['X'] == 0] += 3 df[df['Y'] == 0] += 4 的csv文件,请使用file_name

to_csv

答案 1 :(得分:0)

您可以按以下方式使用df.loc方法:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

希望这会有所帮助。

谢谢

Rohan Hodarkar