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

问题描述 投票:0回答:2

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
pandas header series
2个回答
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

0
投票

我的答案并非100%与问题相关,但可能对其在谷歌搜索中找到此问题的其他人有价值。

因为你有一个系列,它是数据帧的子集,通过使用索引号,你可以通过简单地在系列上添加keys()函数来获取列。

dataframe = pd.DataFrame({'A' : [1,2,3], 'B' : [4,5,6]})

for index in range(0, len(dataframe)):
    series = dataframe.iloc[index]
    
type(series)
>> <class 'pandas.core.series.Series'>
    
list(series.keys())
>> ['A', 'B']
© www.soinside.com 2019 - 2024. All rights reserved.