코드
import numpy as np
from pandas import Series
data = [1,2,3,4,np.nan]
s=Series(data=data)
print(s.isna().sum())
실행 결과
1
코드
data = ["100", "200", "300"]
index = ["철수", "영희", "아름"]
s = Series(data, index)
정답
print(s.astype(int))
/
import numpy as np
print(s.astype(np.int32))
실행 결과
철수 100
영희 200
아름 300
dtype: int64
/
철수 100
영희 200
아름 300
dtype: int32
코드
data = ["100,000", "200,000", "300,000"]
index = ["철수", "영희", "아름"]
s = Series(data, index)
정답
s1 = s.str.replace(',', '')
s1.astype("int32")
실행 결과

코드
import pandas as pd
s = pd.Series(["30세", "40세", "50세"], index=["김대리", "이과장", "박차장"])
정답
s1 = s.str[:-1]
s1 = s1.astype('int32')
s1
/
s1 = s.replace('세', '', regex=True)
s1 = s1.astype('int32')
s1D
실행 결과

코드
import pandas as pd
s = pd.Series([1, 2, 3, 4], index=["d", "c", "a", "b"])
s
정답
import pandas as pd
s = pd.Series([1, 2, 3, 4], index=["d", "c", "a", "b"])
s
s = s.sort_index( )
s
실행 결과

코드
import pandas as pd
s = pd.Series([1, 2, 3], index=['2023-01-01', '2023-01-02', '2023-01-03'])
정답
import pandas as pd
s = pd.Series([1, 2, 3], index=['2023-01-01', '2023-01-02', '2023-01-03'])
s.index = s.index.str[5:]
print(s)
실행 결과
01-01 1
01-02 2
01-03 3
dtype: int64
코드
import pandas as pd
s = pd.Series([1, 2, 3], index=['2023-01-01', '2023-01-02', '2023-01-03'])
정답
import pandas as pd
s = pd.Series([1, 2, 3], index=['2023-01-01', '2023-01-02', '2023-01-03'])
s.index = pd.to_datetime(s.index)
print(s)
실행 결과
2023-01-01 1
2023-01-02 2
2023-01-03 3
dtype: int64
코드
import pandas as pd
s = pd.Series([1, 2, 3, np.nan])
정답
import pandas as pd
s = pd.Series([1, 2, 3, np.nan])
s.dropna()
실행 결과

코드
import pandas as pd
s = pd.Series(["1,234", "5,678", "9,876"])
정답
import pandas as pd
s = pd.Series(["1,234", "5,678", "9,876"])
def remove_comma( x ):
return x.replace(',', '')
s.map( remove_comma )
/
import pandas as pd
s = pd.Series(["1,234", "5,678", "9,876"])
s.map(lambda x: x.replace(',', ''))
실행 결과

코드
import pandas as pd
s = pd.Series([10, 100, 1000])
정답
import numpy as np
np.log10( 100 )
/
import numpy as np
s.apply(np.log10)
/
import numpy as np
s.map(np.log10)
실행 결과
np.float64(2.0)
/

코드
data = [[1,10,100],[2,20,200],[3,30,300]]
col = ['col1','col2','col3']
row = ['row1','row2','row3']
df = pd.DataFrame(data=data,index=row,columns=col)
print(df)
실행 결과
col1 col2 col3
row1 1 10 100
row2 2 20 200
row3 3 30 300
df.add(스칼라 값)의 경우 df+스칼라값 과 같은 결과를 가집니다.
코드
result = df.add(1)
print(result)
/
result = df+1
print(result)
실행 결과
col1 col2 col3
row1 2 11 101
row2 3 21 201
row3 4 31 301
df에 더할 df2를 아래와 같이 만들어보겠습니다. 3x1 짜리 객체로 col1을 가집니다.
코드
data2 = [[3],[4],[5]]
df2 = pd.DataFrame(data=data2,index=['row1','row2','row3'],columns=['col1'])
print(df2)
실행 결과
col1
row1 3
row2 4
row3 5
코드
result = df.mul(df2,fill_value=0)
print(result)
실행 결과
col1 col2 col3
row1 3 0.0 0.0
row2 8 0.0 0.0
row3 15 0.0 0.0
df2에는 col2과 col3열이 없기 때문에 해당 열의 계산결과는 NaN으로 반환됩니다.
0으로 나눈 경우는 div/0 에러 대신 inf를 반환합니다.
코드
result = df.div(df2)
print(result)
실행 결과
col1 col2 col3
row1 0.333333 NaN NaN
row2 0.500000 NaN NaN
row3 0.600000 NaN NaN
df2에는 col2과 col3열이 없기 때문에 해당 열의 계산결과는 NaN으로 반환됩니다.
코드
result = df.mod(df2)
print(result)
실행 결과
col1 col2 col3
row1 1 NaN NaN
row2 2 NaN NaN
row3 3 NaN NaN
df.div(스칼라 값)의 경우 df 스칼라값 과 같은 결과를 가집니다.
코드**
result = df.pow(3)
print(result)
실행 결과
col1 col2 col3
row1 1 8 27
row2 64 125 216
row3 343 512 729
코드
result = df.pow(df2,fill_value=0)
print(result)
실행 결과
col1 col2 col3
row1 1 1.0 1.0
row2 256 1.0 1.0
row3 16807 1.0 1.0
코드
col = ['col1','col2']
row = ['row1','row2']
data1 = [[1,2],[3,4]]
data2 = [[5,6],[7,8]]
df1 = pd.DataFrame(data=data1)
df2 = pd.DataFrame(data=data2)
print(df1)
실행 결과
0 1
0 1 2
1 3 4
코드
df3 = df1.dot(df2)
print(df3)
실행 결과
0 1
0 19 22
1 43 50