팬더 데이터 프레임이 1 개만 선택했을 때 2 개의 열을 반환하는 이유 [중복]
Nov 23 2020
matplotlib로 일부 플롯을 만드는 동안 pandas의 이상한 동작을 발견했지만 열을 1 개만 선택하면 2가 반환됩니다.
import pandas as pd
import io
data = io.StringIO("""time_0,1,time_1,2,time_2,0,time_3,3
-0.002,-0.1225,-0.002,-0.0904,-0.002,0.0331,-0.002,0.,
0.0,-0.1225,0.,-0.0904,0.,0.0331,0.,0.,
0.002,-0.1224,0.002,-0.0904,0.002,0.0331,0.002,0.,
0.004,-0.1225,0.004,-0.0904,0.004,0.0331,0.004,0.,""")
df = pd.read_csv(data)
print(df["time_0"])
산출:
-0.002 -0.1225
0.000 -0.1225
0.002 -0.1224
0.004 -0.1225
이름 : time_0, dtype : float64
"time_0"및 "1"열의 값을 모두 표시하지만 "time_0"만 선택되었습니다. 버그입니까, 기능입니까?
답변
1 adirabargil Nov 23 2020 at 17:31
데이터 프레임은 한 줄만 반환하지만 "1"열과 동일한 인덱스를 먼저 표시합니다.
df
Out[3]:
time_0 1 time_1 2 time_2 0 time_3 3
-0.002 -0.1225 -0.002 -0.0904 -0.002 0.0331 -0.002 0.0 NaN
0.000 -0.1225 0.000 -0.0904 0.000 0.0331 0.000 0.0 NaN
0.002 -0.1224 0.002 -0.0904 0.002 0.0331 0.002 0.0 NaN
0.004 -0.1225 0.004 -0.0904 0.004 0.0331 0.004 0.0 NaN
의도하지 않게 첫 번째 열을 인덱스로 사용하는 것처럼 보입니다 ... ,
각 줄 의 추가 로 인해 마지막 열을 nan 값으로 사용합니다 ....
제거해보십시오 ,
:
import pandas as pd
import io
data = io.StringIO("""time_0,1,time_1,2,time_2,0,time_3,3
-0.002,-0.1225,-0.002,-0.0904,-0.002,0.0331,-0.002,0.
0.0,-0.1225,0.,-0.0904,0.,0.0331,0.,0.
0.002,-0.1224,0.002,-0.0904,0.002,0.0331,0.002,0.
0.004,-0.1225,0.004,-0.0904,0.004,0.0331,0.004,0.""")
df = pd.read_csv(data)
print(df["time_0"])
이 코드는 인쇄됩니다
0 -0.002
1 0.000
2 0.002
3 0.004
Name: time_0, dtype: float64