例如:
df = pd.DataFrame([[int(1),2,3],[int(5),6,'a'],[0.1,4,True]], columns = list("abc"))
df
a b c
0 1.0 2 3
1 5.0 6 a
2 0.1 4 True
Run Code Online (Sandbox Code Playgroud)
(附带问题:为什么声明没有int做任何事情?)
现在,df.dtypes返回
a float64
b int64
c object
dtype: object
Run Code Online (Sandbox Code Playgroud)
但是是否有可能在一列中实际列出所有不同的数据类型?
喜欢
a int64, float64
b int64
c int64, str, bool
Run Code Online (Sandbox Code Playgroud) 我似乎无法找到解决方案。我有一个自定义的图例(使用此处找到的解决方案),我试图将多个条目放在一行上,而不是将每个新条目放在前一个条目下。一个人怎么做?
red_patch = mpatches.Patch(color='red', label='The red data')
blue_patch = mpatches.Patch(color='blue', label='The blue data')
plt.legend(handles=[red_patch, blue_patch])
Run Code Online (Sandbox Code Playgroud)
我想将“(红色标记)红色数据,(蓝色标记)蓝色数据等......”全部放在顶部的一行中。当条目多于情节时,让它开始一个新行也很好。所以就像我猜的普通文本一样。
我尝试了谷歌搜索,但找不到任何可理解的@。@...。有人可以用外行的术语解释一下此代码中发生了什么吗?
这是“破解编码面试”一书中的一个问题。
“编写程序以用尽可能少的指令交换整数中的奇数和偶数位(例如,交换位0和位1,交换位2和3,依此类推)”。
我这样做的方式不涉及位操作,因为我无法弄清楚%\ ...
def swap(n):
b = bin(n)[2:]
print(b)
if len(b)%2 != 0:
c = True
b = b[0] + b
pairs = wrap(b, 2)
pairs = [i[::-1] for i in pairs]
ans = ''.join(pairs)
if c: ans = ans[1:]
print(ans)
Run Code Online (Sandbox Code Playgroud)
但是现在我正在看他们的答案,但我并没有真正理解它((不是因为它不在Python中):
int swapOddEvenBits(int x) {
return ( ((x & 0xaaaaaaaa) >>> 1) | ((x & 0x55555555) << 1) );
Run Code Online (Sandbox Code Playgroud) 我正在用matplotlib绘制一些东西,我需要能够放大该图。但是VSCode只是在它无法执行的Python交互式窗口中呈现它。有没有一种方法可以在自己的窗口中打开允许缩放和事物的图形?
我有一个数据框,其中有一列日期表示为时间戳记(如[1554334020000, 1554334200000, 1554334380000, 1554334560000, 1554334740000])。如何将其转换为日期时间?
我知道您可以为一个值做
datetime(1970, 1, 1) + timedelta(milliseconds=int(data['Date'].values[0]))
Run Code Online (Sandbox Code Playgroud)
但是如何将其应用于整个专栏?
我究竟做错了什么?我将两个变量都设置为列表。也尝试过np.array。
y = list(y_test.values)
yhat = list(predictions)
print(y)
print(yhat)
confusion_matrix = pd.DataFrame(confusion_matrix(y, yhat), columns=["Predicted False", "Predicted True"], index=["Actual False", "Actual True"])
display(confusion_matrix)
Run Code Online (Sandbox Code Playgroud)
出去:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ..., 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ..., 0]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-159-e1640f0e3b13> in <module>()
45 print(yhat)
46
---> 47 confusion_matrix = pd.DataFrame(confusion_matrix(y, yhat), columns=["Predicted False", "Predicted True"], index=["Actual False", "Actual True"]) …Run Code Online (Sandbox Code Playgroud) 例如.如果我有两个数据集:
df1 = pd.DataFrame([[1, 2.1, 5, 0, 'a'], [7, 2.3, 5, 1, 'b'], [0, 2, 0, 1, 'c'], [9, 4, 4, 1, 'd']],columns=list('ABCDE'))
df2 = pd.DataFrame([[3, 2, 5, 0, 1, 2], [3, 2.4, 5, 1, 9, 9], [9, 9, 5, 9, 4, 5], [0, 2, 5, 0, 1, 1], [1, 4, 4, 3, 8, 0]],columns=list('xBCyzw'))
Run Code Online (Sandbox Code Playgroud)
我想基于列'B'和'C'合并它们,但我只希望合并行的实例与df1中的实例一样多.
换句话说,我想在df2中找到基于'B'和'C'匹配df1中的行的行,并将df2中的列附加到df1.
我现在拥有的是
print(pd.merge(np.round(df2), np.round(df1), on=['B', 'C'], how='inner', left_index = True))
Run Code Online (Sandbox Code Playgroud)
哪个输出
x B C y z w A D E
0 3 2.0 5 …Run Code Online (Sandbox Code Playgroud) 我刚刚用pip安装了它,并想将其导入到PyCharm中,但出现错误:
解决环境:...正在工作...失败
PackagesNotFoundError:当前渠道无法提供以下软件包:
目前渠道:
要搜索可能提供您正在寻找的 conda 包的替代频道,请导航至
https://anaconda.org
Run Code Online (Sandbox Code Playgroud)
并使用页面顶部的搜索栏。
有谁知道如何解决这个问题?
我试图并排绘制两个图像,而没有任何像网格线和轴这样的垃圾。我发现您可以使用 关闭所有网格线plt.rcParams['axes.grid'] = False,但无法确定轴是否有类似的选项。我知道您可以使用,plt.axis('off')但是您必须单独为每个子图指定它。
plt.rcParams['axes.grid'] = False
plt.subplot(1, 2, 1)
plt.imshow(img1)
plt.subplot(1, 2, 2)
plt.imshow(img2)
plt.show()
Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法从离散数据中找到曲线的切线。例如:
x = np.linespace(-100,100,100001)
y = sin(x)
Run Code Online (Sandbox Code Playgroud)
所以这里的 x 值是整数,但是如果我们想在类似的地方找到切线x = 67.875怎么办?
我一直试图弄清楚是否numpy.interp会起作用,但到目前为止没有运气。我还发现了几个类似的例子,比如这个,但还没有能够将这些技术应用于我的案例:(我是 Python 的新手,还不完全知道一切是如何工作的,所以任何帮助都会值得赞赏...
from scipy import interpolate
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-100,100,10000)
y = np.sin(x)
tck, u = interpolate.splprep([y])
ti = np.linspace(-100,100,10000)
dydx = interpolate.splev(ti,tck,der=1)
plt.plot(x,y)
plt.plot(ti,dydx[0])
plt.show()
Run Code Online (Sandbox Code Playgroud) 例如,如果我要指派a, b, c从l = [1,2,3,4,5],我可以做
a, b, c = l[:3]
Run Code Online (Sandbox Code Playgroud)
但是,如果l只有[1,2]([1]或[])怎么办?
有没有一种方法可以自动将其余变量设置为None或''或0或其他某个默认值?
我考虑过在分配以匹配变量数量之前使用默认值扩展列表,但是只是想知道是否有更好的方法。
这是我的代码:
function test(n)
r = (0:1000)/n;
Phi = 2*pi*r;
[x,y] = pol2cart(Phi,r);
plot(x,y)
end
Run Code Online (Sandbox Code Playgroud)
这是n = 100,10,1的输出顺序:

最后一张图表发生了什么?它为什么吓坏了?>.> ......
n = 1后更有趣的形状:这里n = 0.9,0.8,0.7,0.6

我以为我知道FromDigits是如何工作的,但它现在正在做一些疯狂的事情.
n[[990;;]]
FromDigits[n[[990;;]]]
Run Code Online (Sandbox Code Playgroud)
输出:
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
1405060708091011121309
Run Code Online (Sandbox Code Playgroud)
而不是,你知道,950050150 ......
这是怎么回事?