这是我的df:
Net Upper Lower Mid Zsore
Answer option
More than once a day 0% 0.22% -0.12% 2 65
Once a day 0% 0.32% -0.19% 3 45
Several times a week 2% 2.45% 1.10% 4 78
Once a week 1% 1.63% -0.40% 6 65
Run Code Online (Sandbox Code Playgroud)
如何按名称("Mid")将列移动到表的前面,索引0.这是它需要的样子:
Mid Upper Lower Net Zsore
Answer option
More than once a day 2 0.22% -0.12% 0% 65
Once a day 3 0.32% -0.19% 0% 45
Several times a week 4 2.45% 1.10% 2% 78
Once a …
Run Code Online (Sandbox Code Playgroud) 我想将数据帧的索引(行)从float64更改为string或unicode.
我认为这会起作用,但显然不是:
#check type
type(df.index)
'pandas.core.index.Float64Index'
#change type to unicode
if not isinstance(df.index, unicode):
df.index = df.index.astype(unicode)
Run Code Online (Sandbox Code Playgroud)
错误信息:
TypeError: Setting <class 'pandas.core.index.Float64Index'> dtype to anything other than float64 or object is not supported
Run Code Online (Sandbox Code Playgroud) 我有一个数据系列,如下所示:
print mys
id_L1
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
Run Code Online (Sandbox Code Playgroud)
我想检查一下所有值是否为NaN.
我的尝试:
pd.isnull(mys).all()
Run Code Online (Sandbox Code Playgroud)
输出:
True
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
对熊猫来说相当新鲜所以忍受我...
我有一个巨大的csv,有很多行的表.我想简单地将每个数据帧拆分为2,如果它包含超过10行.
如果为true,我希望第一个数据帧包含前10个数据帧,其余数据帧包含第二个数据帧.
这有一个方便的功能吗?我环顾四周但发现没什么用处......
即split_dataframe(df,2(if> 10))?
如何格式化从秒到小时,分钟,秒的时间?
我的代码:
start = time.time()
... do something
elapsed = (time.time() - start)
Run Code Online (Sandbox Code Playgroud)
实际产量:
0.232999801636
Run Code Online (Sandbox Code Playgroud)
期望/预期输出:
00:00:00.23
Run Code Online (Sandbox Code Playgroud) 我试图从熊猫数据框中获取最大值.我对它来自哪个行或列不感兴趣.我只对数据帧中的单个最大值感兴趣.
这是我的数据帧:
df = pd.DataFrame({'group1': ['a','a','a','b','b','b','c','c','d','d','d','d','d'],
'group2': ['c','c','d','d','d','e','f','f','e','d','d','d','e'],
'value1': [1.1,2,3,4,5,6,7,8,9,1,2,3,4],
'value2': [7.1,8,9,10,11,12,43,12,34,5,6,2,3]})
Run Code Online (Sandbox Code Playgroud)
这就是它的样子:
group1 group2 value1 value2
0 a c 1.1 7.1
1 a c 2.0 8.0
2 a d 3.0 9.0
3 b d 4.0 10.0
4 b d 5.0 11.0
5 b e 6.0 12.0
6 c f 7.0 43.0
7 c f 8.0 12.0
8 d e 9.0 34.0
9 d d 1.0 5.0
10 d d 2.0 6.0
11 d d 3.0 2.0
12 d e …
Run Code Online (Sandbox Code Playgroud) 我发现的大部分信息都不在python> pandas> dataframe中,因此问题.
我想将1到12之间的整数转换为一个明确的月份名称.
我有一个df看起来像:
client Month
1 sss 02
2 yyy 12
3 www 06
Run Code Online (Sandbox Code Playgroud)
我希望df看起来像这样:
client Month
1 sss Feb
2 yyy Dec
3 www Jun
Run Code Online (Sandbox Code Playgroud) 我有两个清单:
mylist = ['total','age','gender','region','sex']
checklist = ['total','civic']
Run Code Online (Sandbox Code Playgroud)
我必须使用我继承的一些代码,如下所示:
for item in mylist:
if item in checklist:
do something:
Run Code Online (Sandbox Code Playgroud)
我如何使用上面的代码告诉我'思域'不在mylist中?
这将是理想的方式,但我不能使用它,不要问我为什么.
for item in checklist:
if item not in mylist:
print item
Run Code Online (Sandbox Code Playgroud)
结果:
civic
Run Code Online (Sandbox Code Playgroud) 我很难读取excel表pd.read_excel()
.
我的excel表在它的原始形式中看起来像这样:
我希望数据框看起来像这样:
bar baz foo
one two one two one two
A B C D E F
baz one 0.085930 -0.848468 0.911572 -0.705026 -1.284458 -0.602760
two 0.385054 2.539314 0.589164 0.765126 0.210199 -0.481789
three -0.352475 -0.975200 -0.403591 0.975707 0.533924 -0.195430
Run Code Online (Sandbox Code Playgroud)
这有可能吗?
我失败的尝试:
xls_file = pd.read_excel(data_file, header=[0,1,2], index_col=None)
Run Code Online (Sandbox Code Playgroud)
链接到原始excel文件:
https://www.dropbox.com/s/ek646ab4yb1fvdq/ipsos_excel_tables_type_2_trimed_nosig.xlsx?dl=0
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的多级列表:
a
---+---+---
b | c | f
--+---+---+---
0 | 1 | 2 | 7
1 | 3 | 4 | 9
Run Code Online (Sandbox Code Playgroud)
如何按名称删除列"c"?看起来像这样:
a
---+---
b | f
--+---+---
0 | 1 | 7
1 | 3 | 9
Run Code Online (Sandbox Code Playgroud)
我试过这个:
del df['c']
Run Code Online (Sandbox Code Playgroud)
但我得到以下错误,这是有道理的:
KeyError:'密钥长度(1)大于MultiIndex lexsort depth(0)'