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
答案 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