擅长:python、mysql、java
<p>第一个问题来自<code>index=[i for i in df['Date']]</code>。一旦您这样做,它将为每个组件在<code>df['Date']</code>中放置一行:您在2015年9月连续三次,因此它将创建三行:<code>['Sep-2015', 'Sep-2015', 'Sep-2015']</code></p>
<p>第二个问题来自<code>{i : [j for j in df['Count']] for i in df['Name']}</code>,它对应于<code>{'Adam': [3, 1, 3], 'Hardik': [3, 1, 3], 'David': [3, 1, 3]}</code>。我想那不是你所期望的</p>
<p>假设您想要的输出,我猜您想要的是:<code>{'Adam': [3], 'Hardik': [1], 'David': [3]}</code>和<code>['Sep-2015']</code></p>
<p>实现这一目标的一个想法是事先建造它,我的建议如下:</p>
<pre><code>a={}
for i in range(df['Name'].size):
a[df['Name'].iloc[i]]=df['Count'].iloc[i]
dftest=pd.DataFrame (a,index = [i for i in df['Date'].drop_duplicates()])
</code></pre>
<p>当然,可以修改循环以管理您的期望,特别是如果您的计划中有不同的日期</p>