小编Jam*_*ond的帖子

如何检查python pandas中列的dtype

我需要使用不同的函数来处理数字列和字符串列.我现在在做什么真是愚蠢:

allc = list((agg.loc[:, (agg.dtypes==np.float64)|(agg.dtypes==np.int)]).columns)
for y in allc:
    treat_numeric(agg[y])    

allc = list((agg.loc[:, (agg.dtypes!=np.float64)&(agg.dtypes!=np.int)]).columns)
for y in allc:
    treat_str(agg[y])    
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?例如

for y in agg.columns:
    if(dtype(agg[y]) == 'string'):
          treat_str(agg[y])
    elif(dtype(agg[y]) != 'string'):
          treat_numeric(agg[y])
Run Code Online (Sandbox Code Playgroud)

python pandas

112
推荐指数
6
解决办法
23万
查看次数

Python中是否有"多图"实现?

我是新来的Python,和我熟悉的实现屈德宁其他 语言.Python是否内置了这样的数据结构,或者在常用的库中可用?

为了说明"multimap"的含义:

a = multidict()
a[1] = 'a'
a[1] = 'b'
a[2] = 'c'

print(a[1])  # prints: ['a', 'b']
print(a[2])  # prints: ['c']
Run Code Online (Sandbox Code Playgroud)

python dictionary

66
推荐指数
3
解决办法
3万
查看次数

这里有人对英特尔C++编译器和GCC进行了基准测试吗?

我不确定是否应该在这里发布这个问题,因为这似乎是一个面向编程的网站.

无论如何,我认为必须有一些大师知道这一点.

现在我有一台运行CentOS 5的AMD Opteron服务器.我想为一个相当大的基于c ++ Boost的程序安装一个编译器.我应该选择哪种编译器?

c++ linux compiler-construction benchmarking boost

26
推荐指数
5
解决办法
3万
查看次数

如何并排合并两个数据帧?

有没有办法方便地并排合并两个数据帧?

两个数据帧都有30行,它们具有不同的列数,例如,df1有20列,df2有40列.

如何轻松获得30行和60列的新数据框?

df3 = pd.someSpecialMergeFunct(df1, df2)
Run Code Online (Sandbox Code Playgroud)

或者可能附加一些特殊参数

df3 = pd.append(df1, df2, left_index=False, right_index=false, how='left')
Run Code Online (Sandbox Code Playgroud)

ps:如果可能的话,我希望可以自动解析复制的列名.

谢谢!

python pandas

22
推荐指数
3
解决办法
3万
查看次数

pandas DataFrame的序列化

有没有快速的方法来进行DataFrame的序列化?

我有一个可以并行运行熊猫分析的网格系统.最后,我想从每个网格作业中收集所有结果(作为DataFrame),并将它们聚合成一个巨大的DataFrame.

如何以可快速加载的二进制格式保存数据框?

python pandas

17
推荐指数
2
解决办法
2万
查看次数

为什么python.subprocess在proc.communicate()之后挂起?

我有一个叫做的互动节目my_own_exe.首先,它打印出来alive,然后输入S\n然后再打印出来alive.最后你输入L\n.它做了一些处理和退出.

但是,当我从下面的python脚本调用它时,程序似乎在打印出第一个'alive'后挂起.

这里有人能告诉我为什么会这样吗?

//在阅读了后续内容后(谢谢你们),我将代码修改如下:

import subprocess
import time

base_command = "./AO_FelixStrategy_UnitTest --bats 31441 --chix 12467 --enxutp 31884 --turq 26372 --symbol SOGN --target_date " + '2009-Oct-16'
print base_command

proc2 = subprocess.Popen(base_command, shell=True , stdin=subprocess.PIPE,)

time.sleep(2);
print "aliv"
proc2.communicate('S\n')

print "alive"
time.sleep(6)

print "alive"
print proc2.communicate('L\n')
time.sleep(6)
Run Code Online (Sandbox Code Playgroud)

程序现在顺利进行第一个输入'S \n',然后停止,我第二个'L \n'有点被忽略了.

任何人都可以给我一个想法,为什么会这样?

python subprocess

15
推荐指数
1
解决办法
3万
查看次数

如何将整数日期格式转换为YYYYMMDD?

Python和Matlab通常具有如下的整数日期表示:

733828.0 733829.0 733832.0 733833.0 733834.0 733835.0 733836.0 733839.0 733840.0 733841.0

这些数字对应于今年的某些日期.你们知道哪个函数可以将它们转换回YYYYMMDD格式吗?

太感谢了!

python matlab datetime-format

15
推荐指数
4
解决办法
5万
查看次数

您选择BOOST中的哪个Singleton库?

谷歌的结果表明,在推特中有超过1个单身模板/基类,你建议哪一个?

c++ singleton boost

12
推荐指数
1
解决办法
2万
查看次数

哪个更快?"结构矢量"或"一些矢量"?

解决方案1: 如果我有一个类,

class car{ public: int a; string b; bool c;};
Run Code Online (Sandbox Code Playgroud)

我可以建造200辆汽车的矢量:

std::vector<car>   allcas;  
allcars.resize(200)
Run Code Online (Sandbox Code Playgroud)

在运行时,我只是这样做:

this_car=allcars[102];
Run Code Online (Sandbox Code Playgroud)

然后 ....

解决方案2:

我有

std::vector<int> a; a.resize(200);
std::vector<string>b; b.resize(200);
std::vector<bool> c; c.resize(200);

this_car_a = a[102];
this_car_b = b[102];
this_car_c = c[102];
Run Code Online (Sandbox Code Playgroud)

问题:哪一个更快?

有没有人有想法?非常感谢!

c++ algorithm performance vector

12
推荐指数
3
解决办法
3464
查看次数

熊猫是否具有就地功能?

我想这个问题需要深入了解concat的实现.

说,我有30个文件,每个1G,我最多只能使用32G内存.我将文件加载到DataFrames列表中,称为"list_of_pieces".这个list_of_pieces的大小应该是~30G,对吧?

如果我执行'pd.concat(list_of_pieces)',concat会在堆中分配另一个30G(或者可能是10G 15G)并执行一些操作,还是在不分配新内存的情况下"就地"运行连接?

谁知道这个?

谢谢!

python pandas

11
推荐指数
1
解决办法
5059
查看次数