使用python向数组中有条件地添加不同的值
我想加10如果使用python向数组中有条件地添加不同的值,python,arrays,conditional,add,Python,Arrays,Conditional,Add,我想加10如果x
x<50
,20如果50这看起来有点像家庭作业练习?
我已经明确划分了您需要进行的修改,以便很容易看到它在做什么。请注意:我没有输入所有的规则,只是一些,所以您可以看看如何扩展它
x=[10,20,30,40,50,60,70,80,90,100,120,130,140,150,160,170,180,190,200]
for value in x:
oldvalue = value
if value < 50:
value += 10
elif value < 100:
value += 20
else:
value += 30
print("%i => %i" % (oldvalue, value))
使用熊猫也很容易。感谢大家在这个网站上的帮助
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import math
import xlwt
import xlrd
df_180 = pd.read_csv('Image_146.pft', error_bad_lines=False,header=19)
df_181 = pd.read_csv('Image_T181.pft', error_bad_lines=False,header=20)
df_182 = pd.read_csv('Image_T182.pft', error_bad_lines=False, header=20)
df_183 = pd.read_csv('Image_T183.pft', error_bad_lines=False, header=20)
x_180=df_180.iloc[:,7]
y_180=df_180.iloc[:,8]
x_181=df_181.iloc[:,7]
y_181=df_181.iloc[:,8]
x_182=df_182.iloc[:,7]
y_182=df_182.iloc[:,8]
x_183=df_183.iloc[:,7]
y_183=df_183.iloc[:,8]
plt.style.use('ggplot')
fn ="C:\Users\M15-1478\Desktop\python\Scatter plot.xlsx"
sheetname = 'T181'
df = pd.read_excel(fn, sheetname=sheetname, skiprows=47, parse_cols='B:C').dropna(how='any')
df.ix[df.eval('0 <= GrvX <= 500'), 'GrvX'] -= 161
df.ix[df.eval('500 < GrvX <= 1000'), 'GrvX'] -= 114
df.ix[df.eval('1000 < GrvX < 1500'), 'GrvX'] -= 75
df.ix[df.eval('1500 < GrvX < 2000'), 'GrvX'] -= 15
df.ix[df.eval('2000 < GrvX < 2600'), 'GrvX'] += 30
df.ix[df.eval('2600 < GrvX < 2900'), 'GrvX'] += 70
# customize Y-values
df.ix[df.eval('0 <= GrvY <= 1000'), 'GrvY'] += 30
df.plot(x='GrvX', y='GrvY', linestyle='no line', marker="o", label=sheetname)
plt.plot(x,y,"gs")
plt.xlabel("x (micron)", size ="18",color ="m")
plt.ylabel("y (micron)", size ="18",color ="m")
plt.title("scatter plot after matching", size ="18",color ="m")
plt.show()
导入matplotlib.pyplot作为plt
将numpy作为np导入
作为pd进口熊猫
输入数学
导入xlwt
导入xlrd
df_180=pd.read_csv('Image_146.pft',error_bad_line=False,header=19)
df_181=pd.read_csv('Image_T181.pft',error_bad_lines=False,header=20)
df_182=pd.read_csv('Image_T182.pft',error_bad_line=False,header=20)
df_183=pd.read_csv('Image_T183.pft',error_bad_lines=False,header=20)
x_180=df_180.iloc[:,7]
y_180=df_180.iloc[:,8]
x_181=df_181.iloc[:,7]
y_181=df_181.iloc[:,8]
x_182=df_182.iloc[:,7]
y_182=df_182.iloc[:,8]
x_183=df_183.iloc[:,7]
y_183=df_183.iloc[:,8]
plt.style.use('ggplot'))
fn=“C:\Users\M15-1478\Desktop\python\Scatter plot.xlsx”
sheetname='T181'
df=pd.read_excel(fn,sheetname=sheetname,skiprows=47,parse_cols='B:C').dropna(how='any')
df.ix[df.eval('0我想为X添加10这不是一个很难回答的问题,因此我鼓励您查看pythonmap
或列表理解
。到目前为止您都做了哪些尝试?谢谢。对于两个条件,我一次可以做些什么,例如如果X只是更改您的条件以包含新语句:如果值>10和值<50:[在此处执行操作]对于x_141中的xc_141:oldvaluex=xc_141对于y_141中的yc_141:oldvaluey=yc_141,如果[xc_141正如您所看到的,这两个循环造成了问题。我无法解决它。再次感谢您的帮助。@MichielB对于x_141中的xc_141:oldvaluex=xc_141对于y_141中的yc_141:oldvaluey=yc_141如果[xc_141
10 => 20
20 => 30
30 => 40
40 => 50
50 => 70
60 => 80
70 => 90
80 => 100
....
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import math
import xlwt
import xlrd
df_180 = pd.read_csv('Image_146.pft', error_bad_lines=False,header=19)
df_181 = pd.read_csv('Image_T181.pft', error_bad_lines=False,header=20)
df_182 = pd.read_csv('Image_T182.pft', error_bad_lines=False, header=20)
df_183 = pd.read_csv('Image_T183.pft', error_bad_lines=False, header=20)
x_180=df_180.iloc[:,7]
y_180=df_180.iloc[:,8]
x_181=df_181.iloc[:,7]
y_181=df_181.iloc[:,8]
x_182=df_182.iloc[:,7]
y_182=df_182.iloc[:,8]
x_183=df_183.iloc[:,7]
y_183=df_183.iloc[:,8]
plt.style.use('ggplot')
fn ="C:\Users\M15-1478\Desktop\python\Scatter plot.xlsx"
sheetname = 'T181'
df = pd.read_excel(fn, sheetname=sheetname, skiprows=47, parse_cols='B:C').dropna(how='any')
df.ix[df.eval('0 <= GrvX <= 500'), 'GrvX'] -= 161
df.ix[df.eval('500 < GrvX <= 1000'), 'GrvX'] -= 114
df.ix[df.eval('1000 < GrvX < 1500'), 'GrvX'] -= 75
df.ix[df.eval('1500 < GrvX < 2000'), 'GrvX'] -= 15
df.ix[df.eval('2000 < GrvX < 2600'), 'GrvX'] += 30
df.ix[df.eval('2600 < GrvX < 2900'), 'GrvX'] += 70
# customize Y-values
df.ix[df.eval('0 <= GrvY <= 1000'), 'GrvY'] += 30
df.plot(x='GrvX', y='GrvY', linestyle='no line', marker="o", label=sheetname)
plt.plot(x,y,"gs")
plt.xlabel("x (micron)", size ="18",color ="m")
plt.ylabel("y (micron)", size ="18",color ="m")
plt.title("scatter plot after matching", size ="18",color ="m")
plt.show()