본문 바로가기

Dev

python pandas 행(row) 추가 여러가지 방법(예시코드)

다음을 포함하여 pandas DataFrame에 행을 추가하는 방법에는 여러 가지가 있습니다.

loc: 이 방법을 사용하면 DataFrame의 특정 위치에 행을 추가할 수 있습니다.

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame(columns=['Name', 'Age'])

# Add a new row with index label '0' and values 'John' and 25 for columns 'Name' and 'Age' respectively
df.loc[0] = ['John', 25]
print(df)

 

concat(): 이 방법을 사용하면 단일 행 추가를 포함하여 여러 DataFrame을 함께 연결할 수 있습니다.

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike'], 'Age': [25, 30]})

# Create two more DataFrames
new_rows1 = pd.DataFrame({'Name': ['Amy'], 'Age': [22]})
new_rows2 = pd.DataFrame({'Name': ['Bob'], 'Age': [35]})

# Concatenate the DataFrames
df = pd.concat([df, new_rows1, new_rows2], ignore_index=True)
print(df)

 

append(): concat()와 유사 하지만 행을 추가하는 경우에만 작동합니다.

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike'], 'Age': [25, 30]})

# Create a new DataFrame to be appended
new_row = pd.DataFrame({'Name': ['Amy'], 'Age': [22]})

# Append the new DataFrame
df = df.append(new_row, ignore_index=True)
print(df)

 

 

insert(): 새 행을 삽입해야 하는 인덱스 위치와 각 열의 값을 지정하여 DataFrame에 새 행을 추가할 수 있습니다.

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike'], 'Age': [25, 30]})

# Insert a new row at index position 1 with values 'Amy' and 22 for columns 'Name' and 'Age' respectively
df.insert(loc=1, column='Name', value='Amy')
df.insert(loc=1, column='Age', value=22)
print(df)

 

Python에서 pandas 패키지를 사용하여 DataFrame에 빅 데이터를 추가할 때 .concat()방법을 사용하는 것이 좋습니다. 이는 .concat()여러 DataFrame 또는 계열을 한 번에 함께 연결할 수 있으므로 DataFrame에 여러 행을 추가할 때 이 방법이 효율적이기 때문입니다. 대량의 데이터를 처리할 때 .loc또는 같은 방법을 사용하여 한 번에 하나씩 행을 추가하는 것보다 훨씬 효율적일 수 있습니다 ..append()

예를 들어 CSV 파일에 저장된 대용량 데이터 세트가 있는 경우 pandas.read_csv()함수를 사용하여 데이터를 DataFrame으로 로드한 다음 원본 DataFrame과 연결할 수 있습니다.

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame(columns=['Name', 'Age'])

# Load the big data from a CSV file
big_data = pd.read_csv("big_data.csv")

# Concatenate the big data with the original DataFrame
df = pd.concat([df, big_data], ignore_index=True)

 

이 방법을 사용하면 DataFrame에 많은 양의 데이터를 빠르고 효율적으로 추가할 수 있습니다.

 

 

또한 큰 csv 파일을 청크로 읽는 데 도움이 pandas.concat()되는 매개 변수와 함께 를 사용할 chunksize수 있으며 해당 청크를 하나씩 연결할 수 있습니다. 이렇게 하면 대용량 데이터를 한 번에 메모리에 로드하지 않아도 됩니다.

df_chunk = pd.read_csv("big_data.csv", chunksize=1000)
for chunk in df_chunk:
    df = pd.concat([df, chunk], ignore_index=True)

이렇게 하면 메모리에 너무 많은 부하를 주지 않고 대용량 데이터를 효율적으로 처리할 수 있습니다.

빅 데이터로 작업할 때 작업의 메모리 사용량과 계산 시간을 고려하는 것도 중요합니다. 대용량 데이터 세트를 처리하려면 메모리 효율적인 데이터 유형 사용 또는 병렬 처리 사용과 같은 추가 기술을 구현해야 할 수 있습니다.