如何在 pandas 的 Series 中显示表头?

5

数据是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

3
如果您想要添加标题,可以使用data.to_frame()将Series转换为DataFrame。 - Bharath M Shetty
1个回答

3

您可以将其转换为数据框。有两种方法可以这样做:

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

但是对于一个只有一列的数据框,data[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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接