ValueError: Lengths must match to compare - choosing specific values from table Pandas
ValueError: Lengths must match to compare - choosing specific values from table Pandas
我是编程新手,目前正在尝试在 Y 轴和 X 之间进行比较:(它有 3 个值)但它不能将 "one to three" 与我所做的代码进行比较。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("table3.csv").drop(columns=["STUDY_ID"]) #Had to because it just spams the colunm..
LRX= df[df['Total'] == ([['L999L', 'R999R','Xray1']])]
y = df['CD2']
x = df['LRX']
plt.xlabel('Total') ; plt.ylabel('CD2')
plt.scatter(x,y)
plt.title('Matplot scatter plot')
plt.show()
总计是包含 L999L、R999R 和 Xray1 的列。
我错了什么?
Total CD8 CD2
L999L 54.1059 261.105
R999R 88.5381 67.6109
Xray1 48.0809 404.211
现在可以了:定义 DataFrame:
df=pd.DataFrame({'Total':['L999L','R999R','Xray1'],'CD2':[48.43,24.54,26.13],'CD8':[43.51,54.12,65.13]})
然后你必须用数字替换 'Total' 中的字符串,这样 plot 命令就知道把刻度放在哪里(注意,条形图在这里更容易;在那里,plot 命令没有这个解决方法就可以工作):
ticklabels = ['L999L','R999R','Xray1']
tickdict = {'L999L': 0,'R999R': 1,'Xray1': 2}
df=df.replace({'Total':tickdict})
然后进行绘图,其中首先 x 轴实际上是 [0,1,2],但随后替换了刻度名称:
fig, ax = plt.subplots()
ax.scatter(df['Total'], df['CD2'])
plt.xlabel('Total') ; plt.ylabel('CD2')
ax.xaxis.set_ticks(np.arange(len(df['Total'])))
ax.xaxis.set_ticklabels(df['Total'])
ax.set_xticklabels(tickdict)
plt.show()
我是编程新手,目前正在尝试在 Y 轴和 X 之间进行比较:(它有 3 个值)但它不能将 "one to three" 与我所做的代码进行比较。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("table3.csv").drop(columns=["STUDY_ID"]) #Had to because it just spams the colunm..
LRX= df[df['Total'] == ([['L999L', 'R999R','Xray1']])]
y = df['CD2']
x = df['LRX']
plt.xlabel('Total') ; plt.ylabel('CD2')
plt.scatter(x,y)
plt.title('Matplot scatter plot')
plt.show()
总计是包含 L999L、R999R 和 Xray1 的列。
我错了什么?
Total CD8 CD2
L999L 54.1059 261.105
R999R 88.5381 67.6109
Xray1 48.0809 404.211
现在可以了:定义 DataFrame:
df=pd.DataFrame({'Total':['L999L','R999R','Xray1'],'CD2':[48.43,24.54,26.13],'CD8':[43.51,54.12,65.13]})
然后你必须用数字替换 'Total' 中的字符串,这样 plot 命令就知道把刻度放在哪里(注意,条形图在这里更容易;在那里,plot 命令没有这个解决方法就可以工作):
ticklabels = ['L999L','R999R','Xray1']
tickdict = {'L999L': 0,'R999R': 1,'Xray1': 2}
df=df.replace({'Total':tickdict})
然后进行绘图,其中首先 x 轴实际上是 [0,1,2],但随后替换了刻度名称:
fig, ax = plt.subplots()
ax.scatter(df['Total'], df['CD2'])
plt.xlabel('Total') ; plt.ylabel('CD2')
ax.xaxis.set_ticks(np.arange(len(df['Total'])))
ax.xaxis.set_ticklabels(df['Total'])
ax.set_xticklabels(tickdict)
plt.show()