팬더 시리즈에 대한 사용자 정의 요약 함수를 만들고 싶습니다.
df["tmk"].min()
df["tmk"].max()
작동합니다.
def min_max(x):
minimum = x.min()
maximum = x.max()
print(f'Min: {minimum} | Max: {maximum}')
df["tmk"].apply(lambda x: min_max(x))
AttributeError: 'float' object has no attribute 'min'
여기서 실수 한 것 같아요. 누구든지 기능을 올바르게 적용하는 방법을 도와 줄 수 있습니까?
사용 Series.apply
하면 열의 각 값을 반복합니다. 오류는 min
및 max
스칼라 가 없음을 의미 합니다.
df = pd.DataFrame({
'tmk':[4,5,4,5,5,np.nan],
})
def min_max(x):
minimum = x.min()
maximum = x.max()
print(f'Min: {minimum} | Max: {maximum}')
다음을 통해 열의 모든 값을 처리해야합니다 Series.pipe
.
df["tmk"].pipe(min_max)
또는 주석에 언급 된 @AkshayNevrekar와 같이 작동하도록 Series를 전달합니다.
min_max(df["tmk"])
또 다른 아이디어는 사용입니다 DataFrame.apply
- []
한 열에 추가되었습니다 DataFrame
.
df[["tmk"]].apply(min_max)
Min: 4.0 | Max: 5.0
또 다른 방법은 사용 Series.describe
또는 Series.agg
:
print (df['tmk'].describe())
count 5.000000
mean 4.600000
std 0.547723
min 4.000000
25% 4.000000
50% 5.000000
75% 5.000000
max 5.000000
Name: tmk, dtype: float64
print (df['tmk'].agg(['min', 'max']))
min 4.0
max 5.0
Name: tmk, dtype: float64
또한 format
언급 된 @Jon Clements와 같이 추가 할 수 있습니다. 감사합니다.
print ('Min: {min} | Max: {max}'.format_map(df['tmk'].agg(['min', 'max'])))
Min: 4.0 | Max: 5.0
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다