Titanic
๐https://github.com/memoming/memomingChannel
โ ๏ธ ๊ฐ์ค: ๋์ด ๋ง์ด ์ฌ๋์ผ์๋ก(์๊ธ์ ๋ง์ด ๋ผ์๋ก) ์์กดํ๋ฅ ์ด ๋์ ๊ฒ์ด๋ค.
1. train.csv ์ฝ์ด์ค๊ธฐ
import numpy as np
import pandas as pd
titanic_csv_filePath="train.csv ํ์ผ ๊ฒฝ๋ก"
titanic_df=pd.read_csv(titanic_csv_filePath)
print(titanic_df)
print(titanic_df.info())
โจ Cabin ๊ฐ์ data์ ์๊ฐ 204๊ฐ๋ก ์ ์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ์๊ฒ ๋ค๋ผ๊ณ ํ๋จํ ์ ์๋ค.
2. ์์กด์์ ๋น์์กด์์ ๋น์จ ๊ตฌํ๊ธฐ
alive=titanic_df[ titanic_df["Survived"]==1 ]
dead=titanic_df[ titanic_df["Survived"]==0 ]
print(len(alive))
print(len(dead))
print(len(alive), "/", len(titanic_df))
print(len(alive), "/", len(titanic_df))
titanic_df [ titanic_df["Survived"]==1 ]
: ์ ์ฒด dataframe์์ Survived=1์ธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค๋ ์๋ฏธ
3. ์์กด์ ๋น์์กด์ ์๊ฐํ
import matplotlib.pyplot as plt
plt.bar(["alive", "dead"], height=[len(alive), len(dead)])
plt.show()
4. ํ์น์ ๋ณ ์๊ธ ์๊ฐํ (scatter: ์ด๋์ ๋ง์ด ๋ชฐ๋ ค์๋์ง ํ์ธ)
scatter(df์์ x์ถ์ด ๋ ๊ฒ, df์์ y์ถ์ด ๋ ๊ฒ)
label: x, y์ถ์ด ๋ฌด์์ธ์ง ๋ํ๋ด๊ธฐ
plt.scatter(titanic_df["PassengerId"], titanic_df["Fare"])
plt.xlabel("Passenger ID")
plt.ylabel("Fare")
plt.show()
โจ ๊ทธ๋ํ๋ง ๋ณด๊ณ ์ด๋์ ์ฌ๋์ด ๋ง์ด ์ด์๋จ๊ณ , ๋ ์ด์๋จ์๋์ง ์ ์ ์๋ค.
โจ ์์กด์์ ๋น์์กด์๋ฅผ ๊ตฌ๋ถํด์ผ ํ๋ค.
5. scatter์์ ์์กด์(green), ๋น์์กด์(green) ๊ตฌ๋ถํ๊ธฐ
alive: ์์กดํ ์ฌ๋์ df
dead: ์์กดํ์ง ๋ชปํ ์ฌ๋์ df
plt.scatter(alive["PassengerId"], alive["Fare"], color="green")
plt.scatter(dead["PassengerId"], dead["Fare"], color="red")
plt.xlabel("Passenger ID")
plt.ylabel("Fare")
plt.show()
โจ 50๋ฌ๋ฌ ์ด์์ ๋ณด์์ ๋, ๋์ ๋ง์ด ๋ธ ์ฌ๋์ผ์๋ก ์ด์๋จ์ ๊ฒ ๊ฐ๋ค.
6. $50๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ๋ ์ ๊ตฌํ๊ธฐ
over_50=titanic_df[titanic_df["Fare"]>=50]
under_50=titanic_df[titanic_df["Fare"]<50]
print(len(over_50), "/", len(titanic_df), ",", str(len(over_50)/len(titanic_df)*100)[:5], "%")
print(len(under_50), "/", len(titanic_df), ",", str(len(under_50)/len(titanic_df)*100)[:5], "%")
18.06178 ์์ ์์ซ์ ๋์งธ์๋ฆฌ๊น์ง๋ง ์ป๊ณ ์ถ์ ๋
: ๋ฌธ์์ด์์ 18.06, ์ฆ 5์๋ฆฌ๋ง ํ์ํ๋ฏ๋ก slicing์ ํด์ค๋ค.
โจ str( -๊ณต์- )[:5]
7. ์์กด์ ์ค์์ $50 ๋ฏธ๋ง, ์ด์ ๋๋๊ธฐ
alive_over_50=over_50[ over_50["Survived"]==1 ]
alive_under_50=under_50[ under_50["Survived"]==1 ]
print(len(alive_over_50), "/", len(over_50), str(len(alive_over_50)/len(over_50)*100)[:5], "%")
print(len(alive_under_50), "/", len(under_50), str(len(alive_under_50)/len(under_50)*100)[:5], "%")
๐ก๊ฒฐ๋ก : ๋์ด ๋ง์ด ์ฌ๋์ผ์๋ก(์๊ธ์ ๋ง์ด ๋ผ์๋ก) ์์กดํ๋ฅ ์ด ๋๋ค. (๊ฐ์ค์ด ๋ง๋ค.)
'๐ Data Analysis > ๐ฑ ์ค์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Hospital (0) | 2022.09.14 |
---|---|
Pandas (0) | 2022.09.08 |