[Python][Pandas] 기존 DataFrame을 Python 코드로 생성
이 기사에 대하여
이 사이트 등에서 데이터 프레임을 포함한 샘플 코드를 올릴 때, 엑셀 등에서 로드하도록 하면, 다른 독자가 재현하려면 그 엑셀도 다운로드해 지정의 폴더에 설치하거나와 조금 수고가 됩니다 . 역시, 1회로 복사해, 그대로 사용할 수 있는 코드로 하고 싶을 때가 있습니다.
거기서 Stackoverflow에서 발견한 기사를 참고로 해결했으므로, 조금 개조해 비망록으로서 남깁니다.
구체적인 이미지
만들어진 데이터 프레임 (matplotlib의 그래프 작성을 위해 난수로 작성된 것)
이 데이터 프레임의 코드를 자동 생성하면 이렇게 된다 (길기 때문에 5일분으로 하고 있습니다)
df = pd.DataFrame( {'A': {Timestamp('2000-01-01 00:00:00', freq='D'): -0.24881158810034185, Timestamp('2000-01-02 00:00:00 ', freq='D'): 0.07139047448061933, Timestamp('2000-01-03 00:00:00', freq='D'): 0.7792494446543436, Timestamp('2000-0 freq='D'): 1.0926570461659868, Timestamp('2000-01-05 00:00:00', freq='D'): 1.4520142696441036}, 'B': {Timestamp('0 :00', freq='D'): 0.5817934065331478, Timestamp('2000-01-02 00:00:00', freq='D'): 0.8533763338638953, Timestamp('20 ', freq='D'): 0.16659791062591178, Timestamp('2000-01-04 00:00:00', freq='D'): 0.5581757315241185, Timestamp('2000-2000 freq='D'): -0.6902489397676232}, 'C': {Timestamp('2000-01-01 00:00:00', freq='D'): -0.3335776649606007, Timestamp('20 :00:00', freq='D'): -1.18455668668358, Timestamp('2000-01-03 00:00:00', freq='D'): -1.4501306123185926, Timestamp('20 :00:00', freq='D'): -1.5626229346381093, Timestamp('2000-01-05 00:00:00', freq='D'): -0.5804342291 361944}, 'D': {Timestamp('2000-01-01 00:00:00', freq='D'): 0.6181390369995523, Timestamp('2000-01-02 00:00:00', 0 D'): 0.16283679813751623, Timestamp('2000-01-03 00:00:00', freq='D'): -0.5992032302751686, Timestamp('2000-01-04=00' '): -0.595387504534234, Timestamp('2000-01-05 00:00:00', freq='D'): -1.266286634818076}} )
데이터를 보기 쉽도록 성형하는 것도 생각했지만, 목적은 단지 copipe하고 DataFrame을 할 수 있도록 하는 것만이므로, 개행하지 않고 출력하기로 했습니다. 뭐, 귀찮았던 것도 있습니다만・・(^^ゞ
만든 코드
import matplotlib.pyplot as plt
import pandas as pd
days=10
df = pd.DataFrame(np.random.randn(days, 4), index=pd.date_range("1/1/2000", periods=days), columns=list("ABCD")).cumsum()
plt.figure();
df.plot();
display (df)
print ("df = pd.DataFrame(", str(df.to_dict()), ")")
포인트는 마지막 1행만, df.to_dict()로 전개합니다.
표시된 것을 복사하여 그대로 코드에 가져올 수 있습니다.
참고로 한 사이트
Matplotlib 그래프 사이트
htps // 팬더 s. py였다. 오 rg / 팬더 s-도 cs / s 타 b / 우세 r_ 구이 / ゔ ぃ す ぃ ざ ち ん. HTML
Stack Overflow: Pandas Dataframe to Code
h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s Chion s / 41769882 / Panda s-data f Rame-To-Code
추가:주의
정화된 데이터 프레임에는 TimeStamp가 있으므로 이 문장을 넣지 않으면 오류가 발생합니다.
from pandas import Timestamp
지금 하나의 예였기 때문에, 이하에 4 도시의 월별 평균 기온의 추이의 dataframe의 예를 실어 둡니다.
df로 읽어들여, df2용의 코드 해 토해내는 것입니다. 이쪽이 간단합니다.
import pandas as pd
df= pd.DataFrame( {'city': {0: '東京', 1: '名古屋', 2: '札幌', 3: '大阪'}, '1月': {0: 5.2, 1: 4.5, 2: -3.6, 3: 6.0}, '2月': {0: 5.7, 1: 5.2, 2: -3.1, 3: 6.3}, '3月': {0: 8.7, 1: 8.7, 2: 0.6, 3: 9.4}, '4月': {0: 13.9, 1: 14.4, 2: 7.1, 3: 15.1}, '5月': {0: 18.2, 1: 18.9, 2: 12.4, 3: 19.7}, '6月': {0: 21.4, 1: 22.7, 2: 16.7, 3: 23.5}, '7月': {0: 25.0, 1: 26.4, 2: 20.5, 3: 27.4}, '8月': {0: 26.4, 1: 27.8, 2: 22.3, 3: 28.8}, '9月': {0: 22.8, 1: 24.1, 2: 18.1, 3: 25.0}, '10月': {0: 17.5, 1: 18.1, 2: 11.8, 3: 19.0}, '11月': {0: 12.1, 1: 12.2, 2: 4.9, 3: 13.6}, '12月': {0: 7.6, 1: 7.0, 2: -0.9, 3: 8.6}} )
display(df)
print ("df2 = pd.DataFrame(", str(df.to_dict()), ")")
여기를 실행하면 다음과 같이 표시되어야합니다. 글쎄, 위 코드의 df를 정의하는 것과 같은 내용입니다.
df2 = pd.DataFrame( {'city': {0: '도쿄', 1: '나고야', 2: '삿포로', 3: '오사카'}, '1월': {0: 5.2, 1: 4.5 , 2: -3.6, 3: 6.0}, '2월': {0: 5.7, 1: 5.2, 2: -3.1, 3: 6.3}, '3월': {0: 8.7, 1: 8.7, 2 : 0.6, 3: 9.4}, '4월': {0: 13.9, 1: 14.4, 2: 7.1, 3: 15.1}, '5월': {0: 18.2, 1: 18.9, 2: 12.4, 3 : 19.7}, '6월': {0: 21.4, 1: 22.7, 2: 16.7, 3: 23.5}, '7월': {0: 25.0, 1: 26.4, 2: 20.5, 3: 27.4}, '8월': {0: 26.4, 1: 27.8, 2: 22.3, 3: 28.8}, '9월': {0: 22.8, 1: 24.1, 2: 18.1, 3: 25.0}, '10월' : {0: 17.5, 1: 18.1, 2: 11.8, 3: 19.0}, '11월': {0: 12.1, 1: 12.2, 2: 4.9, 3: 13.6}, '12월': {0: 7.6, 1: 7.0, 2: -0.9, 3: 8.6}} )
Reference
이 문제에 관하여([Python][Pandas] 기존 DataFrame을 Python 코드로 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kent-747/items/20c3f2486520c9273f50텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)