如何在一系列熊猫中显示标题?

时间:2017-12-10 07:10:43

标签: pandas header series

data是pandas.core.series.Series的一个实例。

 >>> type(data)
<class 'pandas.core.series.Series'>
>>> data
1    002728
2    002142
3    002284
Name: scode, dtype: object

如何显示如下?

>>> data
     scode
1    002728
2    002142
3    002284
Name: scode, dtype: object

1 个答案:

答案 0 :(得分:1)

您可以将其转换为数据框。有关如何操作的两个选项:

import pandas as pd
data = pd.Series(['002728','002142','002284'], name = 'scode')
data = data.to_frame()
print(data)
   scode
0  002728
1  002142
2  002284

import pandas as pd
data = pd.Series(['002728','002142','002284'], name = 'scode')
data = pd.DataFrame(data)
print(data)
 scode
0  002728
1  002142
2  002284

单列数据帧和我能想到的系列之间唯一的实际区别是索引。如果要选择系列的第一个元素......可以按如下方式执行:

data = pd.Series(['002728','002142','002284'], name = 'scode')
data[0]
# 002728

但是对于一列数据帧,数据[0]不起作用。以下是您在第一行中获取值所需执行的操作:

data = pd.Series(['002728','002142','002284'], name = 'scode')
data = data.to_frame()
data.iloc[0,0]
# 002728

并获取第i行中的值

data = pd.Series(['002728','002142','002284'], name = 'scode')
data = data.to_frame()
print(data.iloc[i,0])

您可以使用

data = pd.Series(['002728','002142','002284'], name = 'scode')
data = data.to_frame()
data.iloc[i]

但是这会给你一个只包含第i行中值的系列。

print(type(data.iloc[0,0]))
#<class 'str'>
print(type(data.iloc[0]))
#pandas.core.series.Series

如果你的系列由数值组成......这里是一个矢量化方法如乘法如何工作:

numbers = pd.Series([1,3,5,7], name = 'numbers')
print(numbers)
# 0  1
1    3
2    5
3    7
Name: numbers, dtype: int64


print(numbers*3)
#0    3
1     9
2    15
3    21
Name: numbers, dtype: int64

对于具有与上述系列相同数值的单列数据帧:

numbers = pd.Series([1,3,5,7], name = 'numbers')
numbers = numbers.to_frame()
print(numbers)
#   numbers
0        1
1        3
2        5
3        7

print(numbers*3)

#   numbers
0        3
1        9
2        15
3        21