我有一个小数据集,如下所示:
和一个元组,如:(Timestamp('2009-02-27 09:45:00'), 'bloomberg', 'Chicago PMI')
我想在DataFrame上创建一个多个索引,以便它读起来类似于:
当试图构造MultiIndex时:
MI=pd.MultiIndex(index, (0,0,0))
我遇到以下错误:
TypeError: Index(...) must be called with a collection of some kind, Timestamp('200
我有一个带熊猫MultiIndex的Dataframe:
In [1]: import pandas as pd
In [2]: multi_index = pd.MultiIndex.from_product([['CAN','USA'],['total']],names=['country','sex'])
In [3]: df = pd.DataFrame({'pop':[35,318]},index=multi_index)
In [4]: df
Out[4]:
首先,我创建了一个两级。
import numpy as np
import pandas as pd
ind = pd.MultiIndex.from_product([('X','Y'), ('a','b')])
我可以这样用它:
pd.DataFrame(np.zeros((3,4)), columns=ind)
这意味着:
X Y
a b a b
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0
使用带有系列参数的Series.map,我可以获取系列的元素,并将它们用作另一个系列的索引。我想对DataFrame的一些列执行相同的操作,将每一行用作多索引编辑的Series中的一组索引层。下面是一个示例:
>>> d = pandas.DataFrame([["A", 1], ["B", 2], ["C", 3]], columns=["X", "Y"])
>>> d
X Y
0 A 1
1 B 2
2 C 3
[3 rows x 2 columns]
在从DataFrame创建多索引DataFrame时,我对数据定向有点困惑。我使用read_excel()导入数据,并从以下内容开始: import pandas as pd
df = pd.DataFrame([['A', 'B', 'A', 'B'], [1, 2, 3, 4]],
columns=['k', 'k', 'm', 'm'])
df
Out[3]:
k k m m
0 A B A B
1 1 2 3 4 我想要对此进
我有两个DataFrames。df提供了大量数据。test_df描述某些测试是否已通过。我只需要从df中选择那些测试没有失败的行,方法是在test_df中查找这些信息。到目前为止,我能够将我的test_df降低到passed_tests。因此,剩下的是只从df中选择行索引的相关部分在passed_tests中的行。我怎么能这么做?
更新:
test_db没有唯一的行。如果有重复行(可能有多个重复),最肯定的测试优先。即真>行>假。
我的代码:
import pandas as pd
import numpy as np
index = [np.array(['
我将串联对象连在一起,将现有的列名连接到Pandas中的DataFrame。结果如下:
pd.concat([x, y, z], axis=1)
X | Y | Z
-------------------
data | data | data
现在,我想在整个DataFrame的列名X、Y、Z前面插入另一个列名A。最后这个应该是这样的:
A # New Column Name
-------------------
X | Y | Z # Old Column Names
--------
当对一个drop使用pandas.DataFrame方法时,它接受列名列表,但不接受元组,尽管说"list-like“参数是可以接受的。我是否不正确地阅读文档,因为我希望我的MWE工作。
MWE
import pandas as pd
df = pd.DataFrame({k: range(5) for k in list('abcd')})
df.drop(['a', 'c'], axis=1) # Works
df.drop(('a', 'c'), axis=1) # Errors
版本--使用Pyth