Python 从数据帧或序列的输出中删除名称、数据类型
我有一个熊猫函数的输出文件Python 从数据帧或序列的输出中删除名称、数据类型,python,pandas,dataframe,series,output-formatting,Python,Pandas,Dataframe,Series,Output Formatting,我有一个熊猫函数的输出文件 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]: 3
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
/
这些方法具有多种参数,可用于配置打印时显示的信息以及显示方式。默认情况下,Series.to_string
具有name=False
和dtype=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
当您不关心索引,只希望值左对齐时,请使用
'\n'
。值必须是字符串,因此如果需要,请首先转换
#s = s.astype(str)
print(s.str.cat(sep='\n'))
#race
#gender
有时我会打印(*s,sep='\n'):
给予
这是一个与to_字符串答案相比的黑客攻击。这是一个与相比的黑客攻击,它允许对名称、索引、标题、长度、数据类型、float_格式和na_rep、max_行和min_行进行更细粒度的控制。我喜欢这种显式的方式,但它在字符串的开头留下了空白。在我的例子中,我可以使用
strip()
删除它,但如果您的dataframe元素实际上可能以空格开头,那可能是危险的。@craq这一点很好。如果您不需要索引,索引的默认左对齐方式和值的右对齐方式使得使用to_string
方法获得正确的对齐方式非常困难系列。str.cat
是最佳解决方案,因为它将保留初始空白,如果有任何建议,请将添加到_string()
允许对名称、索引、标题、长度、数据类型、float_格式和na_rep、max_行和min_行进行更细粒度的控制
s = pd.Series(['race', 'gender'], index=[311, 317])
print(*s, sep='\n')
race
gender