<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Data Analytics - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/korean/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Data Analytics - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/korean/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 12 May 2026 20:05:20 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/korean/news/tag/data-analytics/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Pandas를 사용한 데이터 분석 - Pandas Dataframe에서 행을 제거하는 방법 ]]>
                </title>
                <description>
                    <![CDATA[ Pandas Dataframe은 행과 열에 데이터를 저장할 수 있는 2차원 데이터 구조입니다. 데이터를 분석할 때 무척 유용합니다. Dataframe에 데이터 기록 목록을 가지고 있을 때, 모델의 필요성과 분석을 학습할 때 목표에 따라서 특정 행을 제거해야 할 수도 있습니다. 이번 튜토리얼에서는 Pandas dataframe에서 일련의 행을 어떻게 제거하는지 배울 것입니다. 열을 제거하는 방법을 배우기 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/untitled/</link>
                <guid isPermaLink="false">637ba6154d426206f9a4fbb1</guid>
                
                    <category>
                        <![CDATA[ Data Analytics ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Chaeyoon Kim ]]>
                </dc:creator>
                <pubDate>Tue, 22 Nov 2022 14:26:57 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2022/11/pic_cut_lemons.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/drop-list-of-rows-from-pandas-dataframe/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Data Analytics with Pandas – How to Drop a List of Rows from a Pandas Dataframe</a>
      </p><!--kg-card-begin: markdown--><h4 id="pandasdataframe2">Pandas Dataframe은 행과 열에 데이터를 저장할 수 있는 2차원 데이터 구조입니다. 데이터를 분석할 때 무척 유용합니다.</h4>
<p>Dataframe에 데이터 기록 목록을 가지고 있을 때, 모델의 필요성과 분석을 학습할 때 목표에 따라서 특정 행을 제거해야 할 수도 있습니다.</p>
<p>이번 튜토리얼에서는 Pandas dataframe에서 일련의 행을 어떻게 제거하는지 배울 것입니다.</p>
<p>열을 제거하는 방법을 배우기 위해서는 이 글을 참고하세요: <a href="https://www.stackvidhya.com/drop-column-in-pandas/">How to Drop Columns in Pandas</a></p>
<h3 id="pandasdataframe">Pandas Dataframe에서 행 또는 열을 제거하는 법</h3>
<p>Dataframe에서 행 또는 열을 제거하려면 dataframe에서 사용가능한 <code>drop()</code> 메소드를 이용해야 합니다. <code>drop()</code> 메소드에 대해서 <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop.html">여기 공식 문서</a>에서 상세히 읽을 수 있습니다.</p>
<p><em>Dataframe Axis(축)</em></p>
<ul>
<li>행은 <code>axis=0</code>으로 나타내고</li>
<li>열은 <code>axis=1</code>으로 나타납니다.</li>
</ul>
<p><em>Dataframe Labels(표기)</em></p>
<ul>
<li>행은 기본적으로 0으로 시작하는 인덱스 번호로 표기되고</li>
<li>열은 이름을 이용하여 표기됩니다.</li>
</ul>
<p><em>Drop() 메소드 매개변수</em></p>
<ul>
<li><code>index</code> - 삭제할 행의 목록</li>
<li><code>axis=0</code> - dataframe의 행이 삭제될 것이라는 표기</li>
<li><code>inplace=True</code> - 삭제 연산 중에 새로운 dataframe 객체를 생성하는 대신 동일한 dataframe에서 제거 연산을 실행합니다.</li>
</ul>
<h3 id="pandasdataframe">Pandas DataFrame 예제</h3>
<p>예시 dataframe은 <em>product_name</em>, <em>Unit_Price</em>, <em>No_Of_Units</em>, <em>Available_Quantity</em>, <em>Available_Since_Date</em> 열을 포함하고 있습니다. 또한 결측값(missing values)을 표기하는데 사용된 NaN 값이 있는 행도 있습니다.</p>
<pre><code class="language-python">import pandas as pd
data = {"product_name":["Keyboard","Mouse", "Monitor", "CPU","CPU", "Speakers",pd.NaT],
        "Unit_Price":[500,200, 5000.235, 10000.550, 10000.550, 250.50,None],
        "No_Of_Units":[5,5, 10, 20, 20, 8,pd.NaT],
        "Available_Quantity":[5,6,10,"Not Available","Not Available", pd.NaT,pd.NaT],
        "Available_Since_Date":['11/5/2021', '4/23/2021', '08/21/2021','09/18/2021','09/18/2021','01/05/2021',pd.NaT]
       }
df = pd.DataFrame(data)
df
</code></pre>
<p>Dataframe은 이렇게 보일 것입니다:</p>
<!--kg-card-end: markdown--><!--kg-card-begin: html--><div>
<style scoped="">
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }
<pre><code>.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</code></pre>
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>product_name</th>
      <th>Unit_Price</th>
      <th>No_Of_Units</th>
      <th>Available_Quantity</th>
      <th>Available_Since_Date</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>Keyboard</td>
      <td>500.000</td>
      <td>5</td>
      <td>5</td>
      <td>11/5/2021</td>
    </tr>
    <tr>
      <th>1</th>
      <td>Mouse</td>
      <td>200.000</td>
      <td>5</td>
      <td>6</td>
      <td>4/23/2021</td>
    </tr>
    <tr>
      <th>2</th>
      <td>Monitor</td>
      <td>5000.235</td>
      <td>10</td>
      <td>10</td>
      <td>08/21/2021</td>
    </tr>
    <tr>
      <th>3</th>
      <td>CPU</td>
      <td>10000.550</td>
      <td>20</td>
      <td>Not Available</td>
      <td>09/18/2021</td>
    </tr>
    <tr>
      <th>4</th>
      <td>CPU</td>
      <td>10000.550</td>
      <td>20</td>
      <td>Not Available</td>
      <td>09/18/2021</td>
    </tr>
    <tr>
      <th>5</th>
      <td>Speakers</td>
      <td>250.500</td>
      <td>8</td>
      <td>NaT</td>
      <td>01/05/2021</td>
    </tr>
    <tr>
      <th>6</th>
      <td>NaT</td>
      <td>NaN</td>
      <td>NaT</td>
      <td>NaT</td>
      <td>NaT</td>
    </tr>
  </tbody>
</table>
</div><!--kg-card-end: html--><!--kg-card-begin: markdown--><p>그리고 우리가 만든 예시 dataframe과 같습니다.<br>
각각의 제거 작업 후 dataframe을 일반 <code>HTML</code> 표 형태로 출력하는 <code>df</code>를 이용해서 dataframe을 출력할 것입니다.<br>
Dataframe을 다른 시각적 형태로 출력하는 방법에 대해서는 여기 <a href="https://www.stackvidhya.com/pretty-print-dataframe/">Pretty Print a Dataframe</a>에서 읽을 수 있습니다.<br>
다음으로, 행을 제거하는 다른 활용 사례들을 배우겠습니다.</p>
<h3 id="pandas">Pandas에서 인덱스를 이용해 행을 삭제하는 법</h3>
<p>Pandas에서 인덱스 목록을 <code>drop()</code> 메소드의 매개변수로 넘겨서 일련의 행을 제거할 수 있습니다.</p>
<pre><code class="language-python">df.drop([5,6], axis=0, inplace=True)
df
</code></pre>
<p>이 코드에서,</p>
<ul>
<li><code>[5,6]</code>은 당신이 제거하고 싶은 인덱스를</li>
<li><code>axis=0</code>은 dataframe에서 행이 제거된다는 표기를</li>
<li><code>inplace=True</code>는 동일한 dataframe에서 삭제 연산을 실행합니다.</li>
</ul>
<p>인덱스 5와 6을 가진 행을 삭제한 후, 아래와 같은 데이터를 dataframe에 가질 것입니다:</p>
<!--kg-card-end: markdown--><!--kg-card-begin: html--><div>
<style scoped="">
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }
<pre><code>.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</code></pre>
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>product_name</th>
      <th>Unit_Price</th>
      <th>No_Of_Units</th>
      <th>Available_Quantity</th>
      <th>Available_Since_Date</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>Keyboard</td>
      <td>500.000</td>
      <td>5</td>
      <td>5</td>
      <td>11/5/2021</td>
    </tr>
    <tr>
      <th>1</th>
      <td>Mouse</td>
      <td>200.000</td>
      <td>5</td>
      <td>6</td>
      <td>4/23/2021</td>
    </tr>
    <tr>
      <th>2</th>
      <td>Monitor</td>
      <td>5000.235</td>
      <td>10</td>
      <td>10</td>
      <td>08/21/2021</td>
    </tr>
    <tr>
      <th>3</th>
      <td>CPU</td>
      <td>10000.550</td>
      <td>20</td>
      <td>Not Available</td>
      <td>09/18/2021</td>
    </tr>
    <tr>
      <th>4</th>
      <td>CPU</td>
      <td>10000.550</td>
      <td>20</td>
      <td>Not Available</td>
      <td>09/18/2021</td>
    </tr>
  </tbody>
</table>
</div><!--kg-card-end: html--><!--kg-card-begin: markdown--><p>이것이 특정 인덱스를 가지고 행을 제거할 수 있는 방법입니다.<br>
다음으로, 인덱스 범위를 삭제하는 것에 대해 배우겠습니다.</p>
<h3 id="pandas">Pandas에서 인덱스 범위를 이용해 행을 삭제하는 방법</h3>
<p>특정 범위 안에 포함된 일련의 행을 삭제할 수 있습니다.<br>
범위라는 것은 하한선과 상한선을 가진 값들의 세트입니다.<br>
이 방법은 특정 범위의 데이터를 제외한 예시 데이터셋을 생성하길 원할 때 유용할 수도 있습니다.<br>
Dataframe에 <code>df.index()</code> 메소드를 사용하여 행의 범위를 생성할 수 있습니다. 그리고나서 그 범위를 <code>drop()</code> 메소드로 넘겨 아래와 같이 행을 삭제할 수 있습니다.</p>
<pre><code class="language-python">df.drop(df.index[2:4], inplace=True)
df
</code></pre>
<p>이 코드에서 수행하는 동작입니다:</p>
<ul>
<li><code>df.index[2:4]</code>가 2에서 4까지 행의 범위를 생성합니다. 범위의 하한선은 포함되어 있고 상한선은 제외됩니다. 다시 말해서 2행과 3행이 제거 되고 4행은 제거되지 <em>않는다</em>는 의미입니다.</li>
<li><code>inplace=True</code>는 동일한 dataframe에서 삭제 연산을 실행합니다.</li>
</ul>
<p>2에서 4 사이 범위안의 행을 삭제한 후, 아래와 같은 데이터를 dataframe에 가질 것입니다:</p>
<!--kg-card-end: markdown--><!--kg-card-begin: html--><div>
<style scoped="">
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }
<pre><code>.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</code></pre>
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>product_name</th>
      <th>Unit_Price</th>
      <th>No_Of_Units</th>
      <th>Available_Quantity</th>
      <th>Available_Since_Date</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>Keyboard</td>
      <td>500.00</td>
      <td>5</td>
      <td>5</td>
      <td>11/5/2021</td>
    </tr>
    <tr>
      <th>1</th>
      <td>Mouse</td>
      <td>200.00</td>
      <td>5</td>
      <td>6</td>
      <td>4/23/2021</td>
    </tr>
    <tr>
      <th>4</th>
      <td>CPU</td>
      <td>10000.55</td>
      <td>20</td>
      <td>Not Available</td>
      <td>09/18/2021</td>
    </tr>
  </tbody>
</table>
</div><!--kg-card-end: html--><!--kg-card-begin: markdown--><p>이것이 (인덱스) 범위를 이용해서 dataframe안에 일련의 행을 삭제할 수 있는지 방법입니다.</p>
<h2 id="pandas">Pandas에서 인덱스 이후 모든 행을 삭제하는 방법</h2>
<p><code>iloc[]</code>을 이용하려 특정 인덱스 이후 모든 행을 삭제할 수 있습니다.<br>
<code>iloc[]</code>은 양수 인덱스를 사용하여 행을 선택하기 위해 사용할 수 있습니다. 시작점과 끝점을 <code>:</code>으로 구분시켜 명시할 수 있습니다. 예를 들어, <code>2:3</code>을 2행부터 3행까지 선택하기 위해 사용할 수 있습니다. 만약 모든 행을 선택하고 싶다면 그냥 <code>:</code>을 <code>iloc[]</code>에 사용하실 수 있습니다.</p>
<p>이 방법은 당신이 데이터셋을 학습(training)과 시험(testing) 목적으로 나누고자 할 때 유용할 수도 있습니다.<br>
0부터 인덱스 2까지 행을 선택하기 위해 아래를 사용하세요. 이것은 인덱스 2 이후 행을 삭제하는 결과를 냅니다.</p>
<pre><code class="language-python">df = df.iloc[:2]
df
</code></pre>
<p>이 코드에서, <code>:2</code>는 인덱스 2에 이르기까지 행을 선택합니다.</p>
<p>이것이 특정 인덱스 이후 모든 행을 삭제할 수 있는지 방법입니다.<br>
인덱스 2 이후 행을 삭제한 후, 아래와 같은 데이터를 dataframe에 가질 것입니다:</p>
<!--kg-card-end: markdown--><!--kg-card-begin: html--><div>
<style scoped="">
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }
<pre><code>.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
</code></pre>
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>product_name</th>
      <th>Unit_Price</th>
      <th>No_Of_Units</th>
      <th>Available_Quantity</th>
      <th>Available_Since_Date</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>Keyboard</td>
      <td>500.0</td>
      <td>5</td>
      <td>5</td>
      <td>11/5/2021</td>
    </tr>
    <tr>
      <th>1</th>
      <td>Mouse</td>
      <td>200.0</td>
      <td>5</td>
      <td>6</td>
      <td>4/23/2021</td>
    </tr>
  </tbody>
</table>
</div><!--kg-card-end: html--><!--kg-card-begin: markdown--><p>이것이 특정 인덱스 이후 모든 행을 삭제할 수 있는지 방법입니다.</p>
<p>다음으로, 조건을 가진 행을 삭제하는 방법에 대해 배우겠습니다.</p>
<h3 id="pandas">Pandas에서 여러 조건을 가진 행을 삭제하는 법</h3>
<p>Dataframe에서 특정 조건을 기반으로 행을 삭제할 수 있습니다.<br>
예를 들어, 열의 값이 <em>X</em>보다 크고 <em>Y</em>보다 작은 행을 삭제할 수 있습니다.<br>
이 방법은 당신이 데이터셋을 특정 값을 가진 열을 무시하고 생성하고자 할 때 유용할 수도 있습니다.<br>
지정 조건을 기반으로 행을 삭제하기 위해서는, 특정 조건을 전달하는 행의 인덱스를 선택하고 그 인덱스를 <code>drop()</code> 메소드로 넘깁니다.</p>
<pre><code class="language-python">df.drop(df[(df['Unit_Price'] &gt;400) &amp; (df['Unit_Price'] &lt; 600)].index, inplace=True)
df
</code></pre>
<p>이 코드에서,</p>
<ul>
<li><code>(df['Unit_Price'] &gt;400) &amp; (df['Unit_Price'] &lt; 600)</code>은 행을 삭제하기 위한 조건이고</li>
<li><code>df[].index</code>는 조건을 넘기는 행의 인덱스를 선택하며</li>
<li><code>inplace=True</code>는 새로운 것(dataframe)을 만드는 대신 동일한 dataframe에서 삭제 연산을 실행합니다.</li>
</ul>
<p><code>unit_price</code>가 400보다 크고 600보다 작은 것을 가진 조건에 해당하는 행을 삭제한 후, 아래와 같은 데이터를 dataframe에 가질 것입니다:</p>
<p>이것이 지정 조건을 이용해서 dataframe의 행을 삭제할 수 있는지 방법입니다.</p>
<h2 id="">결론</h2>
<p>요약하면 이 글에서 Pandas dataframe에서 <code>drop()</code> 메소드가 무엇인지 배웠습니다. 또한 어떻게 dataframe 행렬들이 표기되는지 볼 수 있었습니다. 마지막으로 어떻게 인덱스 및 인덱스 범위, 그리고 조건들을 기반으로 행을 삭제하는 방법을 배웠습니다.</p>
<p>이 글을 좋아한다면 편하게 공유하세요.</p>
<h2 id="">좋아할지도 모르는 글</h2>
<ul>
<li><a href="https://www.stackvidhya.com/add-column-to-dataframe/">How to Add a Column to a Dataframe in Pandas</a></li>
<li><a href="https://www.stackvidhya.com/rename-columns-in-pandas/">How to Rename a Column in Pandas</a></li>
</ul>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
