Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何排除具有索引的元组数据帧中的零数据_Python - Fatal编程技术网

Python 如何排除具有索引的元组数据帧中的零数据

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

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 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])]