Masalah saya cukup sederhana.

Saya memiliki seri yang dikodekan sebagai string ('series_as_string' dalam kode saya) dan saya ingin memilikinya sebagai serangkaian float ('series_as_series').

Saya sudah mencoba beberapa opsi: baca Seri dengan pd.Series, simpan dan baca dengan pd.read_csv(), ... Saya ingin mengurai string dan menyandikannya sebagai daftar tetapi saya tidak menemukan yang efisien cara melakukannya...

series_as_string = """0      0.7070
1      1.4332
2      2.1882
3      2.9695
4      3.7748

Length: 5, dtype: float64"""

series_as_series = pd.Series([0.7070, 1.4332, 2.1882, 2.9695, 3.7748])

Terima kasih banyak atas bantuan Anda!

0
Art_Arnaud 12 Mei 2021, 13:37

1 menjawab

Jawaban Terbaik

Anda dapat membaca_csv dengan modul io

import io
series_as_string = """0      0.7070
1      1.4332
2      2.1882
3      2.9695
4      3.7748

Length: 5, dtype: float64"""
fixed_string = '\n'.join(series_as_string.split('\n')[:-2])
df = pd.read_csv(io.StringIO(fixed_string),sep='\s+',header=None)
print(df)

Keluaran:

    0   1
0   0   0.7070
1   1   1.4332
2   2   2.1882
3   3   2.9695
4   4   3.7748

Jika Anda ingin Seri khusus:

sr = df.iloc[:,1]
sr = 
0    0.7070
1    1.4332
2    2.1882
3    2.9695
4    3.7748
Name: 1, dtype: float64
2
adir abargil 12 Mei 2021, 10:49