import pandas as pd
import numpy as np
df1 = pd.DataFrame({'a': ['.81', '1.2', '.67', '.78'],
'b': ['.2', '-.9', '.7', '.89'],
'c': ['.3', '.22', '.4', '.98'],
'd': ['.5', '.45', '.34', '.92']},
index=[0, 1, 2, 3])
df2 = pd.DataFrame({'a': ['1', '2', '3', '4'],
'b': ['9', '7', '6', '5'],
'c': ['1', '14', '9', '5'],
'd': ['3', '12', '2', '34']},
index=[0, 1, 2, 3])
count=0
for i in df1.index:
d = pd.DataFrame()
d = df1.iloc[[count]]
count = count+1
d = d.T
d.columns = ['Dates']
try:
d.sort_values(by=['Dates'], inplace=True)
except KeyError:
print(KeyError)
d.dropna(inplace=True)
d['Dates'] = d['Dates'][:10]
print(d)
count = 0
for y in df2.index:
df = pd.DataFrame()
df = df2.iloc[[count]]
count = count+1
df = df.T
df.columns = ['Dates']
df.dropna(inplace=True)
print(df)
Dates
b .2
c .3
d .5
a .81
Dates
b -.9
c .22
d .45
a 1.2
Dates
d .34
c .4
a .67
b .7
Dates
a .78
b .89
d .92
c .98
Dates
a 1
b 9
c 1
d 3
Dates
a 2
b 7
c 14
d 12
Dates
a 3
b 6
c 9
d 2
Dates
a 4
b 5
c 5
d 34
使用您的示例dataframes,假设DF1
通过drop()ping具有index=2
的行而变小:
df1.drop(2,inplace=True)
DF1
现在将:
a b c d
0 .81 .2 .3 .5
1 1.2 -.9 .22 .45
3 .78 .89 .98 .92
您可以以任何方式修改索引。然后,要从DF2
中选择DF1
中存在的行,可以执行以下操作:
df2.loc[df1.index]
给你:
a b c d
0 1 9 1 3
1 2 7 14 12
3 4 5 5 34
如果只需要一些列,我们假设C
&D
:
df2.loc[df1.index,['c','d']]
给你:
c d
0 1 3
1 14 12
3 5 34
问题内容: 我正在尝试仅使用来自多索引DataFrame的一个索引来创建新的DataFrame。 理想情况下,我想要这样的事情: 和: 本质上,我想删除除level之外的多索引的所有其他索引。是否有捷径可寻? 问题答案: 一种方法是简单地重新绑定到所需的MultiIndex级别。您可以通过指定要保留的标签名称来做到这一点: 或使用级别的整数值: MultiIndex的所有其他级别将在此处消失。
问题内容: 在Pandas DataFrame中,我可以使用函数将列值与另一列进行匹配。 例如:假设我们有一个DataFrame: 和另一个DataFrame: 我可以使用的功能相匹配的列值对的列值 例如: 产量: PySpark DataFrame中的等效操作是什么? 上面的代码给我一条错误消息: 问题答案: 这种操作在spark中称为“左半联接”:
我讨论这个问题已经有一段时间了,但没有结果。这几乎是一个重复的问题,至少有一个其他的问题在这里,但我不能完全弄清楚如何做,确切地说,我正在寻找从网上相关的答案。 我有一个熊猫数据帧(我们称之为),看起来像: 其中是索引。我想将其转换为类似以下内容: 因此,基本上,每个对应于相同索引的都应该组合到一个列表(或一个集合,或一个元组)中,该列表成为对应索引的。并且,如图所示,在相似的索引行之间是相同的,
我正在使用齐柏林飞艇0.6.2和火花2.0。 我尝试在循环中执行查询,但效果不是很好。 我需要循环一个数据帧的每一行,大约5000行,并执行一个查询,这将在另一个数据帧中增加一个值。 以下是我的尝试: 我试着从两个数据帧中提取一小部分,但仍然很慢。我觉得我做得不对。 知道如何快速更新数据帧吗?
问题内容: 我有两个熊猫DataFrames-在列上有一个简单的Index 。在和上具有MultiIndex 。 在这种情况下,列(1E,1N,1S和2)是流域盆地。 我想做的是将所有浓度除以盆地(列名)和的权重。 我在这里运气不好。当然是行不通的。我没有很多运气堆叠数据帧并加入 当我离开kwarg时,最后两行不会引发错误,但是会返回joined列的结果。如果我在两个堆叠的DataFrame上都放
我有一个问题,在这个例子中简化了。考虑这个熊猫数据帧,df_a: 我想通过将数量相加到一个新的数据框中,并创建一个新的类似于“arange”的索引来对这个数据框进行分组。这应该是我想要的结果: 但是我的努力创建了一个系列(我希望一个数据帧作为结果): 或者基于id列创建新索引: 我还尝试传递index参数,但这也不起作用: 有人对此有一个优雅的解决方案吗?