我有一个包含多级列的dataframe,如下面的MWE中所示:
df = pd.DataFrame([[1,2],[3,4]], columns=[['a','c'],['b','d']], index=['one','two'])
df.columns.names = ['aa', 'bb']
它看起来像这样:
In [267]: df
Out[267]:
aa a c
bb b d
one 1 2
two 3 4
我还有一个字典列表,如下所示
我有证券的主要原始数据,我需要在其中创建基于某些筛选标准的多个证券投资组合。我习惯于在C++中工作,不太清楚如何用Python语言实现下面的代码。
我尝试使用嵌套的for循环创建不同的数据帧:
i -用于循环从2007年到2017年的年份(原始数据中的yr列)
j -用于遍历从1到4的区域(原始数据中的列区域)
for i in range (2007, 2018):
for j in range (1,5):
dfij_filter = (df['yr'] == i) & (df['Region'] == j)
给定数据框字典,如下所示:
dict = {'ABC': df1, 'XYZ' : df2} # of any length...
其中每个数据帧具有相同的列和相似的索引,例如:
data Open High Low Close Volume
Date
2002-01-17 0.18077 0.18800 0.16993 0.18439 1720833
2002-01-18 0.18439 0.2
def time_constant_values(time_value, df, band_list):
try:
time_value in df.index
except KeyError:
print('The time value does not exist!')
else:
constants = []
for band in band_list:
constants.append(d
我已经将文件夹中的文本文件作为Dataframe加载到一个以文件名为关键字的字典中。如果我对字典中的项运行循环,以对我的数据帧单独执行某些操作,则iloc函数将用于第一个操作,然后生成一个位置索引错误。
i = 0
dict = {}
for root, dirs, files in os.walk(root):
for file in os.listdir(root):
if file.endswith(".tlm-raw"):
name = os.path.splitext(file)[0]
dict[name] = pd.r
我刚接触pandas,我正在尝试更新基于'Id'列的'Text‘列。
我的数据是这样的[(1,'One'), (0, 'Zero'), (4,'Four'), (3, 'Three')]我在数据中也有一些丢失的id,对于那些丢失的id,我必须将其留空
原始数据帧
Id A Text
0 0 NaN
1 1 NaN
2 2 NaN
3 3 NaN
4 4 NaN
最终数据帧
Id A Text
0 0 Zer
给定一个数据帧:
Animal wings claws horns
0 Ant No No No
1 Bat Yes Yes No
2 Cat No Yes No
我正在尝试打印'Animal‘列的相应值,其中给定列的值是'Yes’。
Eg1:给定列为“claws”,输出应为Bat和Cat。
Eg2:给定列为“wings”,输出应为Bat