使用空白字符串

时间:2015-09-29 09:13:43

标签: python pandas

我有一个pandas数据帧

df = pd.DataFrame([{'a':'Male','c1':3,'c2':10},{'a':'Male','c1':3, 'c2':30},{'a':'Male','c1':1,'c2':20},{'a':'Female','c1':2,'c2':15},{'a':'Female','c1':2,'c2':100}])

我想打印下面的文字:

   a      c1   c2
0  Male   3    10
1              30
2  Male   1    20
3  Female 2    15
4             100

你能帮帮我吗?

1 个答案:

答案 0 :(得分:3)

我不知道您是否真的想要一个空白字符串或NaN但我在这里使用NaN,您可以使用{{3来测试列是否有重复值并将这些设置为您想要的结果,通过您需要添加对所需结果的解释的方式,而不是我们猜测:

In [128]:
df.loc[df['c1'].duplicated(), 'c1'] = np.NaN
df

Out[128]:
   c1   c2
0   3   10
1 NaN   30
2   1   20
3   2   15
4 NaN  100

空白字符串版本:

In [131]:
df.loc[df['c1'].duplicated(), 'c1'] = ''
df

Out[131]:
  c1   c2
0  3   10
1      30
2  1   20
3  2   15
4     100

修改

您更新了问题,因此我更新了我的回答:

In [143]:
df.loc[(df['a'].duplicated() & df['c1'].duplicated()), ['a','c1']] = ''
df

Out[143]:
        a c1   c2
0    Male  3   10
1              30
2    Male  1   20
3  Female  2   15
4             100