programing

점을 사용하여 팬더 데이터 프레임의 두 열을 표시하는 방법

powerit 2023. 10. 10. 21:17
반응형

점을 사용하여 팬더 데이터 프레임의 두 열을 표시하는 방법

팬더 데이터 프레임이 있으며 한 열의 값 대 다른 열의 값을 플롯하려고 합니다.다행히도, 있습니다.plot필요한 작업을 수행하는 것처럼 보이는 데이터 프레임과 관련된 메소드:

df.plot(x='col_name_1', y='col_name_2')

불행히도 플롯 스타일 중에서 다음과 같이 보입니다.kindparameter) 점이 없습니다.나는 선이나 막대, 고른 밀도를 사용할 수 있지만 포인트는 사용할 수 없습니다.이 문제를 해결하는데 도움이 될 수 있는 작업이 있습니까?

지정할 수 있습니다.style호출할 때 표시된 줄의:

df.plot(x='col_name_1', y='col_name_2', style='o')

style논쟁은 또한 a가 될 수 있습니다.dict아니면list, 예:

import numpy as np
import pandas as pd

d = {'one' : np.random.rand(10),
     'two' : np.random.rand(10)}

df = pd.DataFrame(d)

df.plot(style=['o','rx'])

사용 가능한 모든 스타일 형식은 의 설명서에 나와 있습니다.

Output

이것(그리고 대부분의 음모)을 위해 저는 팬더 포장지에 매트로트립을 기대하지 않을 것입니다.대신 매트플롯 리브를 직접 사용합니다.

import matplotlib.pyplot as plt
plt.scatter(df['col_name_1'], df['col_name_2'])
plt.show() # Depending on whether you use IPython or interactive mode, etc.

NumPy 배열에 액세스할 수 있습니다.df.col_name_1.values예를들면.

밀리초 정밀도의 타임스탬프 값 열의 경우 팬더 기본 플롯으로 이를 사용하는 데 문제가 발생했습니다.개체를 다음으로 변환하려고 할 때datetime64type, Timestamp column 값이 type >를 가지는지 묻는 질문에 < Pandas는 잘못된 결과를 제공합니다.

Pandas사용하다matplotlib기본적인 줄거리를 위한 도서관으로이 경우 가장 쉬운 방법은 다음과 같습니다.

import pandas as pd
import numpy as np

#creating sample data 
sample_data={'col_name_1':np.random.rand(20),
      'col_name_2': np.random.rand(20)}
df= pd.DataFrame(sample_data)
df.plot(x='col_name_1', y='col_name_2', style='o')

enter image description here

하지만, 저는 사용하는 것을 추천합니다.seaborn기본 수준으로 이동하지 않으면서 더 많은 사용자 정의된 그림을 원하는 경우 대안 솔루션으로matplotlib.이 경우 해결책은 다음과 같습니다.

import pandas as pd
import seaborn as sns
import numpy as np

#creating sample data 
sample_data={'col_name_1':np.random.rand(20),
      'col_name_2': np.random.rand(20)}
df= pd.DataFrame(sample_data)
sns.scatterplot(x="col_name_1", y="col_name_2", data=df)

enter image description here

이제 최신 팬더에서는 df.plot.scatter 함수를 직접 사용할 수 있습니다.

df = pd.DataFrame([[5.1, 3.5, 0], [4.9, 3.0, 0], [7.0, 3.2, 1],
                   [6.4, 3.2, 1], [5.9, 3.0, 2]],
                  columns=['length', 'width', 'species'])
ax1 = df.plot.scatter(x='length',
                      y='width',
                      c='DarkBlue')

https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.plot.scatter.html

언급URL : https://stackoverflow.com/questions/17812978/how-to-plot-two-columns-of-a-pandas-data-frame-using-points

반응형