単純にIndexを振りなおすなら Series.reset_index()
Python
1
2import pandas as pd
3ser = pd.Series([1.,2.,3.], index=[1.,2.,3.])
4
5ser = ser.reset_index(drop=True)
6print(ser)
7# 0 1.0
8# 1 2.0
9# 2 3.0
10# dtype: float64
Indexの型を変更したい場合はSeries.index.astype()
で良いのではないでしょうか
Python
1import pandas as pd
2
3ser = pd.Series([1.,2.,3.], index=[1.,2.,3.])
4print(ser)
5# 1.0 1.0
6# 2.0 2.0
7# 3.0 3.0
8# dtype: float64
9
10# indexの型を確認
11print(ser.index.dtype)
12# float64
13
14# indexをint型に変更
15ser.index = ser.index.astype(int)
16
17# print(ser)
18# 1 1.0
19# 2 2.0
20# 3 3.0
21# dtype: float64
22
23# indexの型を再度確認
24print(ser.index.dtype)
25# int64
【補足】
コメントを見る限り、manual_data_mod
と after_areas
は共に、内部のデータはfloat型のになっているようです。
特に、manual_data_mod
はIndex値として使用しますので、 Int型に変換することで動作するのではないでしょうか。
(after_areas
も特に少数を扱わないのであれば変換しておいたほうがよいと思います。)
Python
1manual_data_mod = manual_data_mod.astype(int)
2
3kara_series = pd.Series([])
4for p in np.arange(0,384):
5 a = manual_data_mod[p]
6 f = after_areas[:,p][a:-1]
7 obj = pd.Series(f)
8 ss = obj.value_counts()
9 kara_series = kara_series.add(ss, fill_value=0)
あと気になった点を3点ほど。
(1)
Python
1 f = after_areas[:,p][a:-1]
は
Python
1 f = after_areas[a:-1,p]
で問題ないのではないでしょうか。
(2)
Python
1 f = after_areas[:,p][a:-1]
は a:-1
の範囲でSliceとすると 一番最後の値が含まれませんが問題ないのでしょうか?(仕様かもしれませんが)
Python
1 f = after_areas[:,p][a:]
とするべきではないのでしょうか。
(3)
Python
1kara_series.add(ss, fill_value=0)
は
Python
1kara_series = kara_series.add(ss, fill_value=0)
の間違いかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/19 02:15 編集
2017/12/19 02:45
2017/12/19 02:50
2017/12/19 05:53 編集
2017/12/19 07:16
2017/12/19 07:20