内置函数quit()在Python-3.x和IPython 3中表现不同.Hello如果在IPython中执行,则打印以下代码,但不会在Python中打印任何内容:
quit()
print("Hello")
Run Code Online (Sandbox Code Playgroud)
quit()IPython 的目的是什么?改变行为的原因是什么?
我有一个像这样的数据帧
A B C
1 'x' 15.0
2 'y' NA
3 'z' 25.0
Run Code Online (Sandbox Code Playgroud)
和字典dc类似
dc = {'x':15,'y':35,'z':25}
Run Code Online (Sandbox Code Playgroud)
我想使用字典中列B的值填充数据帧的C列中的所有空值.这样我的数据框就会变成
A B C
1 'x' 15
2 'y' 35
3 'z' 25
Run Code Online (Sandbox Code Playgroud)
有人可以帮我怎么做吗?
谢谢,Manoj
我试图从 groupby 之后的每个组中的第一条记录中找到具有最大值的记录,并从原始数据框中删除相同的记录。
import pandas as pd
df = pd.DataFrame({'item_id': ['a', 'a', 'b', 'b', 'b', 'c', 'd'],
'cost': [1, 2, 1, 1, 3, 1, 5]})
print df
t = df.groupby('item_id').first() #lost track of the index
desired_row = t[t.cost == t.cost.max()]
#delete this row from df
cost
item_id
d 5
Run Code Online (Sandbox Code Playgroud)
我需要跟踪desired_row并从中删除这一行df并重复该过程。
查找和删除 的最佳方法是desired_row什么?
所以我一直无法检查数字0是否在另一个列表中的一组列表中.这些行构成了我正在制作的pacman类型游戏的迷宫,所以这一点就是检查pacman是否已经吃掉了所有的硬币.
这是我的代码:
row1 =[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]
row2 =[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
row3 =[1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1]
row4 =[1,0,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,0,1]
row5 =[1,0,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,0,1]
row6 =[1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1]
row7 =[1,0,1,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1]
row8 =[1,0,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,0,1]
row9 =[1,1,1,1,0,1,0,0,0,1,0,0,0,1,0,1,1,1,1]
row10=[3,3,3,1,0,1,1,1,0,1,0,1,1,1,0,1,3,3,3]
row11=[3,3,3,1,0,1,0,0,0,0,0,0,0,1,0,1,3,3,3]
row12=[3,3,3,1,0,1,0,1,4,4,4,1,0,1,0,1,3,3,3]
row13=[1,1,1,1,0,1,0,1,3,3,3,1,0,1,0,1,1,1,1]
row14=[3,3,3,3,0,0,0,1,3,3,3,1,0,0,0,3,3,3,3]
row15=[1,1,1,1,0,1,0,1,5,5,5,1,0,1,0,1,1,1,1]
row16=[3,3,3,1,0,1,0,3,3,3,3,3,0,1,0,1,3,3,3]
row17=[3,3,3,1,0,1,0,1,1,1,1,1,0,1,0,1,3,3,3]
row18=[3,3,3,1,0,1,0,1,1,1,1,1,0,1,0,1,3,3,3]
row19=[1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1]
row20=[1,0,0,0,0,1,1,1,0,1,0,1,1,1,0,0,0,0,1]
row21=[1,0,1,1,0,0,0,0,0,3,0,0,0,0,0,1,1,0,1]
row22=[1,0,1,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1]
row23=[1,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,1]
row24=[1,0,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1]
row25=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
row26=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
maze = [row1,row2,row3,row4,row5,row6,row7,row8,row9,row10,row11,row12,
row13,row14,row15,row16,row17,row18,row19,row20,row21,row22,
row23,row24,row25,row26]
Run Code Online (Sandbox Code Playgroud)
所以我试过if 0 not in maze:但是if语句将执行0是否在(迷宫)中.
任何帮助将不胜感激,谢谢.
我试图从某个文本文件中获取一整行而不是一个单词,直到它遇到空格,这里是源代码:
#include <stdio.h>
void main() {
int lineNum=0;
char lineContent[100];
scanf("%s", &lineContent);
printf("%s\n", lineContent);
}
Run Code Online (Sandbox Code Playgroud)
这是我的文本文件,名为 test.txt,内容包含 2 行:
111 John Smith 100 98 1.2 2.5 3.6
222 Bob Smith 90 91 3.2 6.5 9.6
Run Code Online (Sandbox Code Playgroud)
我用以下命令运行它:
a.out < test.txt
Run Code Online (Sandbox Code Playgroud)
我的输出只是:
111
Run Code Online (Sandbox Code Playgroud)
我想要的是:
111 John Smith 100 98 1.2 2.5 3.6
Run Code Online (Sandbox Code Playgroud)
当然,我可以简单地使用 while 语句并递归读取直到遇到 EOF,但这不是我想要的。我只想每次从文件中读取一整行。
我怎样才能做到这一点?
非常感谢。
谢谢您的帮助.
我的数据看起来像这样:
city, room_type
A, X
A, Y
A, Z
B, X
B, Y
B, Y
Run Code Online (Sandbox Code Playgroud)
我希望我的最终结果看起来像这样:
city, count(X), count(Y), count(z)
A, 1, 1, 1
B, 1, 2, 0
Run Code Online (Sandbox Code Playgroud)
我按城市分组,我想显示每个城市中每个room_type的数量.
用python pandas做任何方法吗?谢谢.
我在几年前学过SQL,并认为它可能是可能的.我相信python可以做同样的事情.谢谢!
我对在这里提问还很陌生。但这里是:
我有一个 DataFrame,其中有一列名为“id”。我希望删除给定列中不以字母开头的所有行。下面是我正在使用的 DataFrame 的示例。
df=DataFrame({"level": [1,2,3,4,5,6,7,8,9,10],
"personCode": [23,5,3,234,6567,232,67667,56,998,2456],
"id": ["Z71.89","J06.9","018.9","F41.1","M72.2","440.0","L85.1","000.00","000.00","I48.91"]})
Run Code Online (Sandbox Code Playgroud)
我正在处理一个大型数据集,最近发现在该大小的 DataFrame 上使用 for 循环是不可行的。我不知道任何矢量化字符串方法可以帮助我完成我正在做的事情。我基本上是在为“id”列中每个字符串的第一个字符寻找像 isalpha() 这样的布尔值。一旦我发现这一点,我想删除整行。
过去两天我一直在研究这个问题,但没有任何进展......任何反馈都会很棒!谢谢。
我正在尝试编写一些代码来创建一个交替的1/-1和0的矩阵,即:
[-1 0 -1 0 1 0 1 0 -1 0]
[ 0 1 0 -1 0 1 0 -1 0 1]
[ 1 0 1 0 -1 0 -1 0 -1 0]
[ 0 1 0 -1 0 -1 0 -1 0 1]
[ 1 0 1 0 1 0 1 0 1 0]
Run Code Online (Sandbox Code Playgroud)
我创建了一个生成零矩阵的类,并用1或-1附加它,我已经尝试弄乱我的for循环和切片我的矩阵但我似乎无法生成我喜欢的矩阵.我有一个中级的python知识,所以我很欣赏使用我创建的代码解决我的问题可能不是特别优雅,但任何帮助将不胜感激.
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
import random
#constants
N = 10 #dimensions of matrix
class initial_lattice:
def …Run Code Online (Sandbox Code Playgroud) 我正在尝试提取 NumPy 2D 数组的四个角元素:
import numpy as np
data = np.arange(16).reshape((4, -1))
#array([[ 0, 1, 2, 3],
# [ 4, 5, 6, 7],
# [ 8, 9, 10, 11],
# [12, 13, 14, 15]])
Run Code Online (Sandbox Code Playgroud)
预期输出是或者[[0,3],[12,15]]([0,3,12,15]任何情况都可以)。真正的 2D花式索引仅提供主对角线的末端:
data[[0,-1],[0,-1]]
#array([ 0, 15])
Run Code Online (Sandbox Code Playgroud)
伪二维花式索引(首先按行,然后按列)提供了正确的答案,但看起来很尴尬:
data[[0,-1]][:,[0,-1]]
#array([[ 0, 3],
# [12, 15]])
Run Code Online (Sandbox Code Playgroud)
有没有办法使用真正的花哨索引,例如data[XXX,YYY],whereXXX和YYYare 列表/数组/切片,来提取所有四个角?
我知道我可以直接写一个字典列表到CSV文件.同样,有没有直接的方法将字典列表列表写入python中的csv文件,而无需手动迭代每一行?
样本数据
[[{'e': 46, 'p': 100, 'n': 0, 'a': 100, ...},
{'e': 29, 'p': 40, 'n': 1, 'a': 40, ...}, ...],
[{...}, ...]
Run Code Online (Sandbox Code Playgroud)
预期的格式
e,p,n,a,....
46,100,0,100,....
29,40,1,40,...
.......
Run Code Online (Sandbox Code Playgroud)
请注意,这不是字典列表,而是字典列表的列表