如何在没有数据类型的情况下从DataFrame打印字符串值

时间:2015-03-06 20:44:29

标签: python pandas

当我从数据框中显示一个单元格时,我得到了

df[df.a==1]['b']
Out[120]: 
0    2
Name: b, dtype: int64

但是,当我想将其转换为字符串时,我得到了

str(df[df.a==1]['b'])
Out[124]: '0    2\nName: b, dtype: int64'

如何只打印没有dtype的值和没有字符串操作的名称?

1 个答案:

答案 0 :(得分:13)

只需执行以下操作,返回的是pandas系列,因此您需要访问valuesname属性:

In [2]:

df = pd.DataFrame({'a':np.arange(5), 'b':np.random.randn(5)})
df
Out[2]:
   a         b
0  0 -1.795051
1  1  1.579010
2  2  1.908378
3  3  1.814691
4  4 -0.470358

In [16]:

type(df[df['a']==2]['b'])
Out[16]:
pandas.core.series.Series

In [9]:

df[df['a']==2]['b'].values[0]
Out[9]:
1.9083782154318822

In [15]:

df.loc[df['a']==2,'b'].name
Out[15]:
'b'