Када покушавате да схватите велики ДатаФраме у Пандас-у, можда ћете морати да га подскупите по колонама и редовима. У овом водичу ћемо показати најчешће случајеве коришћења партиционисања колона вашег ДатаФраме-а.
Почећемо тако што ћемо поставити наш пример ДатаФраме-а, што ћемо урадити тако што ћемо покренути следећи Питхон код у нашем омиљеном окружењу (ради једноставности, користим Анацонда и Јупитер Лаб).
import pandas as pd # import the pandas library
languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
"avg_difficulty_level": [3, 2, 2, 1],
"avg_salary": [120, 100, 120, 80],
"applications": [10,15,14,20]})
# Now let's convert our dict to a DataFrame
languages = pd.DataFrame.from_dict(languages)
Сада, хајде да погледамо прве редове нашег Датафраме-а користећи методу хеад().
languages.head()
Као што видите, ово је прилично једноставан ДатаФраме који ћемо користити као пример у овом посту:
| |
Језик |
авг_диффицулти_левел |
авг_салари |
апликације |
| 0 |
Питхон |
3 |
120 |
10 |
| 1 |
Ц-Схарп |
2 |
100 |
15 |
| 2 |
Јавасцрипт |
2 |
120 |
14 |
| 3 |
ПХП |
1 |
80 |
20 |
Филтрирање једне колоне
Почећемо са најједноставнијим случајем, а то је да подскупимо једну колону из нашег скупа података. Покретање следеће команде ће креирати објекат серије:
По имену / етикети
languages["language"]
Излаз је серија:
0 Питхон
1 Ц-Схарп
2 Јавасцрипт
3 ПХП
Име: језик, дтипе: објекат
type(languages["language"])
пандас.цоре.сериес.Сериес
По индексу
Следећа команда ће такође вратити серију која садржи прву колону
languages.iloc[:,0]
Избор више колона
Поименце
Када прослеђује листу колона, Пандас ће вратити ДатаФраме који садржи део података.
languages[["language", "applications"]]
| |
Језик |
апликације |
| 0 |
Питхон |
10 |
| 1 |
Ц-Схарп |
15 |
| 2 |
Јавасцрипт |
14 |
| 3 |
ПХП |
20 |
По етикети (са лоц-ом)
df.loc[:,["language","applications"]]
Резултат ће бити сличан.
По индексу
Хајде сада да преузмемо више колона користећи индекс:
languages.iloc[: ,[0,3]]
| |
Језик |
апликације |
| 0 |
Питхон |
10 |
| 1 |
Ц-Схарп |
15 |
| 2 |
Јавасцрипт |
14 |
| 3 |
ПХП |
20 |
По услову
У овом случају, само ћемо приказати колоне чије име одговара одређеном изразу. Користићемо прилично згодан метод филтера :
languages.filter(axis = 1, like="avg")
напомене:
- такође можемо филтрирати према одређеном регуларном изразу (регек).
- Можемо применити параметар акис=0 да филтрирамо према одређеној вредности реда.
Филтрирајте одређене редове према услову
Ево прилично једноставног начина да подсетите ДатаФраме према вредности реда:
languages[(languages["applications"] > 15)]
Имамо само један резултат:
languages[(languages["applications"] > 15)]
| |
Језик |
авг_диффицулти_левел |
авг_салари |
апликације |
| 3 |
ПХП |
1 |
80 |
20 |