从数据框或系列的 pandas 输出中删除名称、数据类型

Remove name, dtype from pandas output of dataframe or series

我从 pandas 函数中得到了这样的输出文件。

Series([], name: column, dtype: object)
311     race
317     gender
Name: column, dtype: object

我正在尝试仅使用第二列获得输出,即

race
gender

通过删除顶部和底部的行,第一列。我该怎么做?

您只需要 .values 属性:

In [159]:

s = pd.Series(['race','gender'],index=[311,317])
s
Out[159]:
311      race
317    gender
dtype: object
In [162]:

s.values
Out[162]:
array(['race', 'gender'], dtype=object)

您可以转换为列表或访问每个值:

In [163]:

list(s)
Out[163]:
['race', 'gender']

In [164]:

for val in s:
    print(val)
race
gender

DataFrame/Series.to_string

这些方法有多种参数,允许您配置打印时显示的信息内容和方式。默认情况下 Series.to_stringname=Falsedtype=False,所以我们额外指定 index=False:

s = pd.Series(['race', 'gender'], index=[311, 317])

print(s.to_string(index=False))
#   race
# gender

如果索引很重要,默认值为 index=True:

print(s.to_string())
#311      race
#317    gender

Series.str.cat

当您不关心索引而只想使用 '\n' 左对齐 cat 的值时。值必须是字符串,因此如有必要请先转换。

#s = s.astype(str)

print(s.str.cat(sep='\n'))
#race
#gender

有时我会 print(*s, sep='\n'):

s = pd.Series(['race', 'gender'], index=[311, 317])
print(*s, sep='\n')

给予

race
gender