2017-12-10 14 views
0

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

'data.to_frame()'、ヘッダーをデータフレームに変換する場合 – Dark

答えて

0

データフレームに変換できます。これを行う方法の2つのオプション:

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 

しかし、1つの列のデータフレームのために、データが[0]動作しないでしょう。あなたは

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

を使用することができます

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]) 

を値を取得する:ここでは、最初の行の値を取得するために行う必要があると思いますものですしかし、それはあなたに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 
関連する問題