Python 如何排除具有索引的元组数据帧中的零数据
All:我试图删除元组数据帧中的零数据,但未能成功。你能帮我个忙吗 我的代码:Python 如何排除具有索引的元组数据帧中的零数据,python,Python,All:我试图删除元组数据帧中的零数据,但未能成功。你能帮我个忙吗 我的代码: mylist = [[0 for y in xrange(0, 10, 1)] for x in xrange(0, 10, 1)] for i in xrange(0, 10, 2): for j in xrange(0, 10, 2): mylist[i][j] = '%s,%s'%(i,j) print mylist df = pd.DataFrame(mylist) print
mylist = [[0 for y in xrange(0, 10, 1)] for x in xrange(0, 10, 1)]
for i in xrange(0, 10, 2):
for j in xrange(0, 10, 2):
mylist[i][j] = '%s,%s'%(i,j)
print mylist
df = pd.DataFrame(mylist)
print df
我想创建一个(x,y)坐标系。所述原点为(0,0),(x,y)的步长为(2,4)。我想创建一个10x10的坐标列表,比如(0,0),(2,0)…(4,0),直到(2*x,0),然后循环到y(4,0),(4,2)…(4,2*x)。再次感谢您的回答。更新的回复:
首先,删除所有零的数组(在for循环之后)
然后,删除剩余数组中存在的零
mylist = [[v for v in x if v != 0] for x in mylist]
这将创建以下内容:['0,0','0,2','0,4','0,6','0,8'],['2,0','2,2','2,6','2,8'],['4,0','4,4','4,6','4,6','4,8'],['6,0','6,6','6,8'],['8,0','8,2','8,4','8,8']
您还可以将这两个步骤合并为一个步骤。可能会稍微节省时间,但看起来有点凌乱
[[v for v in x if v!=0] for x in mylist if not all([val==0 for val in x])]
要遍历代码,第一行将创建一个数组数组,数组中填充0。然后有一个for循环,它位于
xrange(0,10,2)
中
您已将外部for循环的步长设置为等于2。这意味着它将在mylist
中的每一个其他数组上运行
内部for循环的step参数也为2
。因此,它将只对您所在的特定数组中的其他每个值进行操作
如果希望最初创建的每个零都替换为
%s,%s
字符串,只需将每个for循环的最后一个参数更改为1
。(即,…xrange(0,10,1)
)您在哪里尝试删除零数据?你期望的结果是什么?我不明白这是怎么写的。这仍然包括0
值,我能理解的最接近的输出是它们不应该存在。感谢您的回答,但这是有意的。我尝试在这个数组中执行不同的步骤(例如,2)。那么回到我的问题上来,如果是这样的话,我如何删除这个数组中的零数据呢?谢谢@odom0905您能谈谈我的初步意见吗?这个问题无法回答,除非你能具体说明你想要什么。@roganjosh我已经试过运行代码,我在列表中没有看到任何0整数值?@odom0905为了澄清,您想删除您操作的数组中的0数据(混合了0整数和字符串的数组),但您想保留您跳过的数组(都是零的数组)?是的!这正是我想要的。谢谢!
[[v for v in x if v!=0] for x in mylist if not all([val==0 for val in x])]