반응형
반응형

[python] 랜덤 난수 생성해서 엑셀에 저장하기 

"""   
랜덤으로 생성된 문자열을 엑셀 파일에 저장
"""
import random
import string
import os
from captcha.image import ImageCaptcha
import pandas as pd  # pandas 라이브러리를 사용하여 엑셀 파일 저장

# 2023-05-26 ngio add
# 파이썬 컴파일 경로가 달라서 현재 폴더의 이미지를 호출하지 못할때 작업디렉토리를 변경한다. 
import os
from pathlib import Path
# src 상위 폴더를 실행폴더로 지정하려고 한다.
###real_path = Path(__file__).parent.parent
real_path = Path(__file__).parent
print(real_path)
#작업 디렉토리 변경
os.chdir(real_path) 


# 랜덤 6자리 문자열 생성 함수
def generate_random_string(length=6):
    # string.ascii_uppercase: 영문 대문자 A-Z만을 포함합니다.
    # string.ascii_lowercase: 영문 소문자 a-z만을 포함합니다.
    # characters = string.ascii_letters + string.digits  # 영문 대소문자 + 숫자
    characters = string.ascii_uppercase + string.digits
    return ''.join(random.choices(characters, k=length)) 

# 초기 데이터
data = [['QWE123', 10001], ['RTY456', 10002]]

# 반복문을 통해 데이터 추가
for i in range(1, 10):
    #letter = chr(64 + i)  # A: 65 -> B: 66 -> C: 67 -> ...
    letter = generate_random_string();
    data.append([letter, (10002 + i)])

print(data)
print("\n\n")

# 중복 값 확인 함수
def check_duplicates(data):
    # 리스트를 튜플로 변환 (리스트는 set에 직접 넣을 수 없기 때문)
    data_as_tuples = [tuple(item) for item in data]
    
    # 집합의 크기와 리스트의 크기를 비교
    if len(data_as_tuples) != len(set(data_as_tuples)):
        print("중복된 값이 있습니다.")
    else:
        print("중복된 값이 없습니다.")

# 함수 호출
check_duplicates(data)
print("\n\n")


# DataFrame으로 변환
df = pd.DataFrame(data, columns=['random_word', 'word_index'])

# 결과 출력
print(df)
print("\n\n")
반응형
반응형

Pandas는 데이터 분석, 조작 및 시각화를 위한 인기 있는 Python 라이브러리입니다. 구조화된 데이터와 구조화되지 않은 데이터를 포함하여 다양한 형식의 데이터를 쉽고 효과적으로 작업할 수 있는 풍부한 도구와 기능을 제공합니다. 이 문서에서는 Python에서 빠르고 효율적으로 데이터 분석을 수행하는 데 사용할 수 있는 일반적인 pandas 작업과 함수에 대한 치트시트를 제공합니다.

 

import pandas as pd

 

 

Pandas 라이브러리를 가져온 후에는 다음 작업과 함수를 사용하여 일반적인 데이터 분석 작업을 수행할 수 있습니다.

  • pd.read_csv(filename): CSV 파일에서 데이터를 로드합니다.
  • data.head(): 데이터 프레임의 처음 몇 행을 봅니다.
  • data.tail(): 데이터 프레임의 마지막 몇 행을 봅니다.
  • data.describe(): 숫자 열에 대한 요약 통계를 계산합니다.
  • data.info(): 데이터 프레임의 데이터 유형과 메모리 사용량을 확인합니다.
  • data.columns: 데이터 프레임의 열을 봅니다.
  • data['column']: 데이터 프레임의 열을 선택합니다.
  • data.loc[row_index]: 인덱스를 기준으로 데이터 프레임의 행을 선택합니다.
  • data.iloc[row_index]: 위치를 기준으로 데이터 프레임의 행을 선택합니다.
  • data.dropna(): 값이 누락된 행을 삭제합니다.
  • data.fillna(value): 누락된 값을 주어진 값으로 채웁니다.
  • data.rename(columns={'old': 'new'}): 데이터 프레임의 열 이름을 바꿉니다.
  • data.sort_values(by='column'): 열의 값을 기준으로 데이터 프레임을 정렬합니다.
  • data.groupby('column')['column'].mean(): 열의 값으로 데이터 프레임을 그룹화하고 다른 열의 평균을 계산합니다.
  • data.plot.hist(): 수치적 히스토그램을 그리다

반응형
반응형

https://pandas.pydata.org/pandas-docs/stable/index.html

 

pandas documentation — pandas 2.2.1 documentation

API reference The reference guide contains a detailed description of the pandas API. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.

pandas.pydata.org

 

Community tutorials — pandas 2.2.1 documentation

 

pandas.pydata.org

 

반응형
반응형


error : Cannot interpret '<attribute 'dtype' of 'numpy.generic' objects>' as a data type 

 

    발생하면  pandas를 업그레이드 하라. 

 

pip install numpy --upgrade
pip install pandas --upgrade
반응형
반응형

pip install matplotlib

matplotlib 3.7.2

https://pypi.org/project/matplotlib/

 

matplotlib

Python plotting package

pypi.org

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.

Check out our home page for more information.

Matplotlib produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, Python/IPython shells, web application servers, and various graphical user interface toolkits.

Install

See the install documentation, which is generated from /doc/users/installing/index.rst

Contribute

You've discovered a bug or something else you want to change - excellent!

You've worked out a way to fix it -- even better!

You want to tell us about it -- best of all!

Start at the contributing guide!

반응형
반응형

Pandas Tutorial

https://www.w3schools.com/python/pandas/default.asp

 

Pandas Tutorial

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

Pandas is a Python library.

Pandas is used to analyze data.

 

https://pypi.org/project/pandas/

pip install pandas

 

 

pandas

Powerful data structures for data analysis, time series, and statistics

pypi.org

 

Pandas   http://bigdata.dongguk.ac.kr/lectures/Python/_book/pandas.html#pandas-dataframe

  • 데이터 처리와 분석을 위한 라이브러리
  • 행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있음
  • 대용량의 데이터들을 처리하는데 매우 편리
  • pandas 자료구조
    • Series: 1차원
    • DataFrame: 2차원
    • Panel: 3차원
  • pandas 로딩
    • import numpy as np # 보통 numpy와 함께 import
    • import pandas as pd
""" Pandas Tutorial
https://www.w3schools.com/python/pandas/default.asp

Pandas is a Python library.
Pandas is used to analyze data.
"""

#import pandas
import pandas as pd #Now the Pandas package can be referred to as pd instead of pandas.


mydataset = {
  'cars': ["BMW", "Volvo", "Ford"],
  'passings': [3, 7, 2]
}

myvar = pd.DataFrame(mydataset)

print(myvar)


import pandas as pd
print(pd.__version__)
반응형

+ Recent posts